我很难完全掌握实现钩子主题的语义,从而理解创建预处理/过程功能的方式。我正在使用" Drupal 7"的权威指南,它(技术上)声明以下代码应该实现/定义/输出主题函数。
/**
* Implements hook_theme().
**/
<?php
// core/module_urtheme() - kiwi is the themesname
function node_kiwi(){
return array(
'addBlock' => array(
'block' => 'content'
),
);
}
//define theme_functionName/ should it be theme_addBlocK?
function kiwi_addBlock($block){
return '<div class="kiwi-block">'.$block.'</div>';}
//use
print theme('addBlock',$block)
我的问题在于我对语法预处理函数的完全混淆:
<?php
/**
* Implements template_preprocess_THEMEHOOK().
*/
function HOOK_preprocess_THEMEHOOK(&$variables) {
// Changes go here.
}
最终我意识到HOOK
和THEMEHOOK
都是占位符,但应该替换它们,HOOK
模块/模板/主题?对于THEMEHOOK
- 函数的名称/主题/?我尝试比较上面的主题钩子实现,但它让我更加困惑。
我提前为我可能犯过的任何天真的错误道歉。任何和所有的帮助将非常感谢:)。
答案 0 :(得分:1)
据我所知,HOOK是模块或主题的名称,而THEMEHOOK是hook_theme()中定义的钩子,典型的是“块”,“节点”......等等。例如:Yourmodule_preprocess_node (安培; $变量)。