Drupal 来自模块的预处理节点:未获得与template.php相同的变量
我想从一个模块而不是template.php中预处理和主题化我的节点。以前,我在Drupal 来自模块的预处理节点:未获得与template.php相同的变量,drupal,drupal-6,Drupal,Drupal 6,我想从一个模块而不是template.php中预处理和主题化我的节点。以前,我在theme\u preprocess\u node()中有一个巨大的switch语句。但这只适用于我的主选项卡-子选项卡是从它们在中定义的模块中模板化的。因此,我喜欢将所有预处理函数和模板整合到一个有组织的模块中 我想要的结构基本上是这样的(提取细节以获得摘要): 所有这些都很好,但是我的预处理中可用的$vars不是我在template.php的theme\u preprocess\u node()函数中使用的。首先
theme\u preprocess\u node()
中有一个巨大的switch语句。但这只适用于我的主选项卡-子选项卡是从它们在中定义的模块中模板化的。因此,我喜欢将所有预处理函数和模板整合到一个有组织的模块中
我想要的结构基本上是这样的(提取细节以获得摘要):
所有这些都很好,但是我的预处理中可用的$vars不是我在template.php的theme\u preprocess\u node()
函数中使用的。首先,看起来CCK字段没有通过content\u format()
(没有['view']元素)运行,并且缺少striser
和page
等标志
我可以在这里调用的theme\u preprocess\u node()
之前调用了什么
我这样做是自找麻烦吗?让它像这样组织起来并控制每一步对我来说都更有意义:菜单>页面回调>主题>预处理>模板,并且能够在我认为合适的多个模块中组织它。AK
我的建议是执行以下代码来检查可用变量
<?php
$arr = get_defined_vars();
dsm($arr);
?>
如果这没有帮助,您可以在系统表上检查模块的重量。也许更改它(使您的模块在其他模块之后运行)可以帮助您
<?php
$arr = get_defined_vars();
dsm($arr);
?>