什么是两者之间的区别?
function mythemes_preprocess_html(&$variables) { ... }
并且
function mythemes_process_html(&$variables) { ... }
在 Drupal 7 的 template.php 中,何时应该使用预处理函数,何时应该使用处理函数?
谢谢。
什么是两者之间的区别?
function mythemes_preprocess_html(&$variables) { ... }
并且
function mythemes_process_html(&$variables) { ... }
在 Drupal 7 的 template.php 中,何时应该使用预处理函数,何时应该使用处理函数?
谢谢。
虽然称呼不同,但它们实际上是相同的东西。预处理函数首先被调用并进行更改。然后在稍后的阶段调用处理函数,并允许对在预处理阶段引入的任何修改进行更改。
有关更多信息,请参见http://drupal.org/node/223430。
更确切地说,来自Drupal API文档:
如果实现是一个模板文件,在调用模板文件之前会调用几个函数来修改$variables数组。这些函数分为“预处理”阶段和“处理”阶段,并按照以下顺序执行(请注意,在以下列表中,HOOK表示主题钩子名称,MODULE表示模块名称,THEME表示主题名称,ENGINE表示主题引擎名称):(来源:http://api.drupal.org/api/drupal/includes!theme.inc/function/theme/7)
如果您按照上面的链接,它将按顺序列出整个theme()进程,从处理函数到预处理函数再到模板文件本身。
你想要影响流程的哪个阶段?这里有两个选项: