custom.module与template.php


9

这不是一个针对性强的问题,但我找不到关于此的任何良好信息。

什么时候将代码放入template.php文件以及何时在模块中实现代码被认为是正确的做法?

我的意思是在当前示例中,我需要调用hook_preprocess_node并在内部执行drupal_get_form并呈现该表单。我已将我的逻辑放在template.php中。

那是对的吗?如果没有,您能给我有关此问题的DOS和DONTS的简短列表吗?


1
如果太复杂,我将其放入模块中;如果几行代码,则将其放入template.php中。然后,还取决于用法,是针对一个主题(template.php)还是针对不同主题(模块)。由你决定。
泰勒·迪尔登

Answers:


9

做出此决定时,我要牢记两件事。

这是功能性功能还是纯粹的视觉功能?功能组件位于模块中。纯粹的视觉主题成为主题。

如果我改变或从根本上改变主题和/或为我的网站允许多个主题会怎样?如果您不想复制功能,则应将其放入模块中。

Drupal确实使内容,业务逻辑和表示的交织变得容易。为了实现站点的长期可维护性,您在实施事物时确实需要小心。

一个好的经验法则是,主题不应该需要了解的ID( ,,$nid 等)的任何东西,只需要知道计算机名来改变外观。$uid$tid

在您的情况下,向节点添加表单是一项功能更改,我真的会将其放在模块中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.