Link in eigenem Modul öffnet Seite ausserhalb des Templates

  • Hallo zusammen,


    ich hoffe ich kann mein Anliegen einigermaßen gut erklären.


    Ich habe ein Joomla Modul geschrieben mit folgendem Inhalt:

    Code
    <form action="/modules/mod_editmask/upload.php?" method="post" enctype="multipart/form-data">
    ...
    <input name="SpeichernButton" style="width: 120px" type="submit" value="Speichern">
    </form>


    Wenn der "SpeichernButton" gedrückt wird, dann wird das Skript upload.php ausgeführt.
    Dadurch wird die Joomla-Template Umgebung komplett verlassen. Dabei soll der Output der upload.php innerhalb des Joomla-Templates geöffnet werden, so, dass die Menüleiste und alle Joomla Komponenten noch vorhanden sind.


    Kann mir jemand sagen, wie ich die upload.php innerhalb des Joomla-Templates öffne?


    VG Ray

  • Ich weiß ja nicht, was sich in der upload.php befindet, aber der normale Weg wäre, bei Klick wird die eben offene Seite erneut geladen. Das erreicht man indem action auf die zeigen lässt.
    Bin jetzt nicht sicher, aber die action kann man wohl so ermitteln/setzen

    Code
    htmlspecialchars(JUri::getInstance()->toString());


    Auf der Seite wird dann das Modul erneut geladen und wertet die Input-Post-Daten, im Normalfall in der default.php aus, ruft das upload.php auf, wasimmer es auch tut, vielleicht durch ein require(...), ergänzt Daten für die Anzeige etc. und wird dann angezeigt.
    Das hat dann auch den Vorteil, dass du innerhalb Joomlas bleibst und bspw. das upload.php mit einem
    defined('_JEXEC') or die;
    gegen direkten Aufruf absichern kannst sowie in der upload.php auf Joomla-Methoden zurückgreifen kannst.