Beiträge von maximilian089

    Hallo liebe Mitglieder,
    ich bin neu hier, auch neu in der Joomla-Welt und schon habe ich die erste Frage, welche sich um die Modul-Entwicklung dreht.


    Um die Module-Erstellerung zu verstehen habe ich bereits das Simple Module vom joomla-Tutorial durchgemacht.
    https://docs.joomla.org/J3.x:C…Developing_a_Basic_Module


    Der nächste Schritt in den Tutorials geht mir jedoch viel zu weit (Datenbankzugriff).


    Ich möchte für meine Test-Joomla-Seite ein Module entwickeln, welches mir ein Eingabefeld im Frontend anzeigt, hier schreibe ich einen Laufwerkspfad rein und via Button „senden“ wird dieser Pfad an eine Funktion geschickt, welche aus mir aus dem Pfad sämtliche Dateien auflistet.


    In PHP direkt habe ich diese Funktion und Seite letztlich schon geschrieben und sie funktioniert.


    Jetzt möchte ich diese Funktion in ein Modul für joomla packen.
    Leider komme ich gerade nicht weiter.


    Die reine PHP-Funktion/Seite ist diese hier:



    Ich habe nach meinen Überlegungen die reine PHP-Funktion (Übernahme Pfad und Generierung des Strings (beinhaltet Namen der im Pfad enthaltenen Dateien) für die spätere Ausgabe in die helper.php geschrieben.
    Code der helper.php:


    Meine mod_test2.php Eintrittspunkt-Datei beinhaltet diesen Code:


    PHP
    <?php/** * Dateiauflister Module Entry Point *  * @package    Joomla.Tutorials * @subpackage Modules * @license    GNU/GPL, see LICENSE.php * @link       http://docs.joomla.org/J3.x:Creating_a_simple_module/Developing_a_Basic_Module * mod_helloworld is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. */ // No direct accessdefined('_JEXEC') or die;// Include the syndicate functions only oncerequire_once dirname(__FILE__) . '/helper.php'; $ausgabevariable = modTest2::getDatei($uebergabe);//$hello = modHelloWorldHelper::getHello($params);require JModuleHelper::getLayoutPath('mod_test2');



    Meine default.php (Ausgabedatei im tmpl-Verzeichnis des Moduls) habe ich mit dem Eingabefeld als HTML-Formular und dem Button versehen.
    Ebenso erfolgt im PHP-Tag die Übergabe des Pfades in eine Variable und die Ausgabe der Ausgabevariable.
    Die default.php im tmpl-Verzeichnis (Ausgabe Frontend) beinhaltet diesen Code:

    PHP
    <?php // No direct accessdefined('_JEXEC') or die; ?><h1>Pfadangabe</h1><p>Bitte den Pfad zur Datei angeben</p><form action="default.php" method="post"> <p>Dateipfad: <input type="text" name="pfad" /></p> <p><input type="submit" /></p></form><?php $uebergabe=$_POST['pfad'];echo $ausgabevariable;?>


    Zur Vollständigkeit meine mod_test2.xml Inhaltsbeschreibung:



    Im Frontend wird mir, nach Installation und Konfiguration des Moduls, zwar das Eingabefeld und der Button angezeigt, jedoch erhalte ich Fehlermeldungen und es funktioniert letztlich nicht - obwohl es ohne CMS in PHP funktionierte.
    Fehler:

    Zitat

    Notice: Undefined variable: uebergabe in C:\inetpub\wwwroot\Joomla\modules\mod_test2\mod_test2.php on line 20




    Mein Modul-Ordner "mod_test2)beinhaltet die Strukur:

    • tmpl-Verzeichnis/index.html (blanko Seite wegen Sicherheitsaspekt)
    • tmpl-Verzeichnis/default.php (Ausgabe PHP-Seite)
    • helper.php (Berechnung)
    • index.html(Blanko-Seite Sicherheitsaspekt)
    • mod_test2.php (Verknüpfungsphp für joomla)
    • mod_test2.xml (Beschreibungsxml für joomla) welche auch als vorlage für eine Intranetseite dienen soll, welche die Möglichkeit bietet Usern im Frontend Dateienhochzuladen und anzuzeigen.

    Wo liegt der Fehler?
    Bzw. wo rufe ich meine PHP-Funktion auf, wo übergebe ich ihm die Variable des Eingabefeldes, wo kann ich die Berechnung ausgeben bzw. wo liegen die Verknüpfungspunkte?


    Ich habe leider kein Tutorial gefunden, welches z. B. als Modul im Frontend ein Eingabefeld anzeigt, der User kann dort etwas reinschreiben, via Button wird die Eingabe im Frontend als HTML-Ausgabe wieder ausgegeben und ggf. mit einem Datum versehen (damit in helper.php irgendwas berechnet wird und ggf. Übergabevariablen behandelt werden).
    Leider greifen die bisherigen Tutorials entweder nur "Hallo Welt" auf oder aber führen mit Datenbankanbindung/auslesung etc. zu weit.


    Um Hilfe wäre ich für diesen Einstieg sehr dankbar.
    Beste Grüße
    Maximilian

    Edit by @Indigo66: Langen Code im Spoiler formatieren.