Wo wird Code in Joomla-Modulen platziert?

8

Gibt es bei der Entwicklung einer Joomla-Erweiterung Best Practices, Richtlinien oder Empfehlungen, wo die verschiedenen Teile meines Codes (PHP und HTML) platziert werden sollen?

Ich denke hauptsächlich an die grundlegenden Dateien, die in einem Modul enthalten sind:

mod_mymodule.php
helper.php
tmpl/default.php

Was sind außerdem die Hauptvorteile des Einfügens einer helper.phpDatei und kann sie in einigen Fällen entfernt werden?

johanpw
quelle
Vielleicht finden Sie auch hier gute Informationen: Wie macht man ein neues Modul
FFrewin

Antworten:

7

helper.php:

In dieser Datei sollten alle Funktionen einer Klasse gespeichert werden. Es handelt sich im Grunde genommen um die Modulversion eines Modells für eine Komponente, also Aufgaben wie das Ausführen von Datenbankabfragen usw. Der Vorteil dieser Datei besteht darin, dass alle Kernfunktionen an einem Ort gespeichert werden. Wenn ein Modul diese Datei bereits enthält, 1 einfache Regel, entfernen Sie sie nicht.

mod_mymodule.php:

Wie @ subashbasnet8 bereits erwähnt hat, können Sie in dieser Datei Ihre Funktionen aufrufen und die Modulparameter abrufen und als Variable definieren. Sie sollten auch Dinge tun, wie Ihre POSTVariablen hier rein zu bekommen . HTML-Markup sollte nicht in diese Datei gehören.

default.php:

Diese Datei sollte Ihr gesamtes HTML-Markup enthalten, da der Benutzer (oder sogar Ihr Server) sie dann überschreiben kann, was Sie mit den anderen beiden Dateien nicht tun können. Auch hier sollten Dinge wie das Importieren von CSS / JS-Bibliotheken wieder berücksichtigt werden, damit alle Überschreibungen durchgeführt werden können.

Lodder
quelle
5

Grundsätzlich ist mod_mymodule.php eine Bootstrap-Seite Ihres Moduls. Hier fügen Sie die Hilfsdatei ein und rufen die erforderliche Funktion auf, die sich in der Datei helper.php befindet. Sie können HTML-Code in die Seite tmpl / default.php und PHP-Code in die Seite helper und mod_mymodule.php einfügen.

Weitere Einzelheiten finden Sie hier . Vielen Dank.

subashbasnet8
quelle