Drupal 来自模块的预处理节点:未获得与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()函数中使用的。首先

我想从一个模块而不是template.php中预处理和主题化我的节点。以前,我在
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);  
?>