custom.module vs template.php


9

Questa è una domanda non così mirata ma non riesco a trovare alcuna buona informazione al riguardo.

Quando è considerata pratica corretta inserire il codice all'interno del file template.php e quando implementarlo in un modulo?

Voglio dire, nel mio esempio attuale, devo chiamare hook_preprocess_node e dentro eseguire un drupal_get_form e renderizzare quel modulo. Ho inserito la mia logica in template.php.

È corretto? In caso contrario, puoi darmi un breve elenco di DOS e DONTS in merito al problema?


1
se è troppo complesso lo inserisco in un modulo, se sono poche righe di codice lo metto in template.php. Quindi dipende anche dall'uso, se è per un tema (template.php) o per temi diversi (modulo). Tocca a voi.
Tyler Durden,

Risposte:


9

Ci sono due cose che cerco di tenere a mente quando prendo questa decisione.

È una caratteristica funzionale o puramente visiva? I componenti funzionali vanno in moduli. Quelli puramente visivi entrano nel tema.

Cosa succede se cambio o cambio radicalmente il tema lungo la strada e / o autorizzo più temi per il mio sito? Se non vuoi replicare la funzione, allora dovrebbe andare in un modulo.

Drupal semplifica l'intreccio di contenuti, logica aziendale e presentazione. Per la manutenibilità a lungo termine di un sito, è necessario fare molta attenzione quando si implementano le cose.

Una regola buona pratica è che un tema non dovrebbe aver bisogno di conoscere gli ID ( $nid, $uid, $tid, ecc) per qualsiasi cosa, e dovrebbe solo bisogno di conoscere i nomi delle macchine per alterare l'aspetto visivo.

Nel tuo caso, l'aggiunta di un modulo a un nodo è una modifica funzionale e la inserirò davvero in un modulo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.