Esta é uma pergunta não tão direcionada, mas não consigo encontrar nenhuma informação boa sobre isso.
Quando é considerada prática correta colocar código no arquivo template.php e quando implementá-lo em um módulo?
Quero dizer, no meu exemplo atual, preciso chamar hook_preprocess_node e, dentro, executar um drupal_get_form e renderizar esse formulário. Eu coloquei minha lógica dentro do template.php.
Isso está correto? Caso contrário, você pode me dar uma pequena lista de DOS e DONTS em relação ao problema?
Respostas:
Há duas coisas que tento ter em mente ao tomar essa decisão.
Esse é um recurso funcional ou puramente visual? Componentes funcionais vão em módulos. Os puramente visuais entram no tema.
O que acontece se eu alterar ou mudar radicalmente o tema no futuro e / ou permitir vários temas para o meu site? Se você não deseja replicar o recurso, ele deve ser inserido em um módulo.
O Drupal facilita a interligação de conteúdo, lógica de negócios e apresentação. Para a manutenção de longo prazo de um site, você realmente precisa ter cuidado ao implementar as coisas.
Uma boa regra de ouro é que um tema não deve precisar de saber sobre IDs (
$nid
,$uid
,$tid
, etc) para qualquer coisa, e só deve precisar de saber os nomes das máquinas para alterar a aparência visual.No seu caso, adicionar um formulário a um nó é uma mudança funcional, e eu realmente colocaria isso em um módulo.
fonte