Drupal模板中的预处理函数和处理函数比较。

15

什么是两者之间的区别?

function mythemes_preprocess_html(&$variables) { ... }

并且

function mythemes_process_html(&$variables) { ... }

在 Drupal 7 的 template.php 中,何时应该使用预处理函数,何时应该使用处理函数?

谢谢。

3个回答

12

虽然称呼不同,但它们实际上是相同的东西。预处理函数首先被调用并进行更改。然后在稍后的阶段调用处理函数,并允许对在预处理阶段引入的任何修改进行更改。

有关更多信息,请参见http://drupal.org/node/223430


1

更确切地说,来自Drupal API文档:

如果实现是一个模板文件,在调用模板文件之前会调用几个函数来修改$variables数组。这些函数分为“预处理”阶段和“处理”阶段,并按照以下顺序执行(请注意,在以下列表中,HOOK表示主题钩子名称,MODULE表示模块名称,THEME表示主题名称,ENGINE表示主题引擎名称):(来源:http://api.drupal.org/api/drupal/includes!theme.inc/function/theme/7

如果您按照上面的链接,它将按顺序列出整个theme()进程,从处理函数到预处理函数再到模板文件本身。


0

你想要影响流程的哪个阶段?这里有两个选项:

  1. 预处理函数:首先运行。
  2. 处理函数:在所有预处理函数执行完之后运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接