Dies ist eine nicht so gezielte Frage, aber ich kann keine guten Informationen dazu finden.
Wann wird es als richtig angesehen, Code in Ihre template.php-Datei einzufügen und wann in einen Modul zu implementieren?
Ich meine, in meinem aktuellen Beispiel muss ich hook_preprocess_node aufrufen und drinnen ein drupal_get_form ausführen und dieses Formular rendern. Ich habe meine Logik in template.php eingefügt.
Ist das korrekt? Wenn nicht, können Sie mir eine kurze Liste von DOS und DONTS zu diesem Problem geben?
Antworten:
Es gibt zwei Dinge, die ich bei dieser Entscheidung zu beachten versuche.
Ist dies ein funktionales oder ein rein visuelles Merkmal? Funktionskomponenten gehen in Module. Rein visuelle gehen in das Thema.
Was passiert, wenn ich das Thema später ändere oder radikal ändere und / oder mehrere Themen für meine Website zulasse? Wenn Sie die Funktion nicht replizieren möchten, sollte sie in ein Modul integriert werden.
Drupal macht es einfach, Inhalte, Geschäftslogik und Präsentation miteinander zu verknüpfen. Für die langfristige Wartbarkeit einer Site müssen Sie bei der Implementierung wirklich vorsichtig sein.
Eine gute Faustregel ist , dass ein Thema nicht über IDs wissen muß , soll (
$nid
,$uid
,$tid
, usw.) für etwas, und soll nur Computernamen müssen wissen , visuelle Erscheinungsbild zu verändern.In Ihrem Fall ist das Hinzufügen eines Formulars zu einem Knoten eine funktionale Änderung, und ich würde das wirklich in ein Modul einfügen.
quelle