(注意:我最初是在drupal.org上发布的,之前记得我从来没有得到过回复。所以,抱歉交叉发布)
您好,有没有办法(内置或其他方式)为特定的cck节点类型添加预处理功能?我希望在我的cck节点类型中对字段进行一些预处理。目前我可以使用theme_preprocess_node,然后在$ node->类型上进行切换,或者对特定字段名称使用主题函数(并且仍然进行切换以确保当前字段用法在节点类型中我是寻找)。我的建议是拥有这样的功能......
theme_preprocess_mynodetype(&$vars) {
// Now I can preprocess a field without testing whether the field is within the target content type
}
...但我无法弄清楚我是否可以像建议模板文件一样建议预处理功能
谢谢!罗布
答案 0 :(得分:3)
在cck的content.module中查看此函数:
/**
* Theme preprocess function for field.tpl.php.
*
* The $variables array contains the following arguments:
* - $node
* - $field
* - $items
* - $teaser
* - $page
*
* @see field.tpl.php
*
* TODO : this should live in theme/theme.inc, but then the preprocessor
* doesn't get called when the theme overrides the template. Bug in theme layer ?
*/
function content_preprocess_content_field(&$variables) {
$element = $variables['element'];
...
答案 1 :(得分:1)
我认为您正在寻找this post。没有神奇的每节点预处理,只有每个主题/模板引擎,但您可以访问$ vars参数中的节点类型,以便您可以在那里打开它。
希望有所帮助!