创建自定义 .tpl 文件来为自定义块设置主题的 drupal 方法是什么?
具体来说,我尝试以编程方式创建一个块,然后找到一种方法将视图代码与模块 php 代码分开。如果它是一个页面,Drupal theme() 将是实现这一目标的非常有效的方法。但是我找不到对自定义块执行相同操作的 Drupal 方法是什么。我尝试使用 hook_theme() 但没有成功。
//implementation of hook_block_info
function mymodule_block_info() {
$blocks = array();
$blocks['myblock'] = array(
'info' => t('My Block Title'),
);
return $blocks;
}
//implementation of hook_block_view
function mymodule_block_view($delta='') {
$block = array();
switch($delta) {
case 'myblock' :
$block['content'] = mymodule_get_block_view();
break;
}
return $block;
}
function mymodule_get_block_view(){
$variables=array();
return theme('mytemplate', $variables);
}
//implementation of hook_theme
function codefactory_theme() {
return array(
'mytemplate' => array(
'variables' => array(),
'template' => 'mytemplate',
),
);
}
它遵循以下建议:block_MODULE_三角洲。按照上面的示例,我会尝试命名该文件块--mymodule.tpl.php如果你只有一个区块,或者块--mymodule--1.tpl.php如果您有多个。
参考:api.drupal.org http://api.drupal.org/api/drupal/modules!block!block.api.php/function/hook_block_info/7 and drupal.org http://drupal.org/node/104319.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)