我有一个page.tpl.php,其中包含页眉,页脚和内容区域。我需要从模块中加载hook_menu上的不同内容。
我在模块中使用以下测试代码尝试从我的模板中打印一些内容:
function my_module_theme() {
return array(
'tutorials_test' => array(
'template' => 'tutorial'
)
);
}
我在modules文件夹
中有一个模板tutorial.tpl.php以下是我的hook_menu和回调函数
function my_module_menu() {
$items['insights/tutorials'] = array(
'title' => 'Tutorials',
'access callback' => TRUE,
'page callback' => 'insights_tutorials'
);
}
回调函数
function insights_tutorials() {
echo 'test';
print theme('tutorials_test');
echo 'after test';
}
当我转向该页面时,我可以看到文本“测试”和“测试后”,但我的模板没有打印出来。
tutorial.tpl.php有这个简单的代码:
<h1>Hello World</h1>
答案 0 :(得分:1)
在hook_theme实现(函数my_module_theme
)中,您需要传递variables
密钥
function my_module_theme() {
return array(
'tutorials_test' => array(
'template' => 'tutorial',
'variables' => array( // the variables key
'title' => NULL,
'details' => NULL,
),
)
);
}
然后输出你的HTML:
print theme('tutorials_test', array(
'title' => 'This is the title',
'details' => 'And this is details',
));
有关如何实现hook_theme()的一个痛苦示例,请查看this answer。
希望这有效......穆罕默德。