自从我开始使用drupal以来一直困扰着我的东西是php引擎究竟知道你在模板文件中引用了哪个$ node / $ classes / $属性。这些变量永远不会被声明为全局变量,那么php引擎如何找出" $ node"你指的是??
答案 0 :(得分:1)
请参阅http://drupal.org/node/223430说明哪些
预处理器的主要作用是设置要放置的变量 在模板(
.tpl.php
)文件中。从Drupal 7开始他们申请 模板和函数,而只在Drupal 6预处理函数中 适用于作为模板实现的主题钩子。简单的主题功能 不要与预处理器交互。
查看template_preprocess*
中引用的template_process
和/**
* Implements hook_preprocess_HOOK().
*/
function MY_MODULE_preprocess_node(&$variables) {
$variables['hello'] = 'Look at me now!';
}
。这些函数显示了设置可以在节点模板中访问的各种变量的代码。
以类似的方式,您还可以在主题函数中添加自己的预处理代码,以添加到tpl.php文件中可用的变量,如下所示:
$hello
在此之后,您可以在node.tpl.php
文件中引用{{1}}。
答案 1 :(得分:0)
这些变量由Drupal的模板引擎设置。