我在管理页面中使用HTML内容创建了简单的块,现在我需要通过template.php修改此内容。需要什么?
答案 0 :(得分:0)
您应该根据您的块ID命名您的.tpl文件。
例如:
如果您使用ID
创建了阻止 block-block-1
然后模板名称应为
block--block--1.tpl.php
主要步骤:
注意强>: 在编辑自定义块时,您可以在URL中看到具有块的delta的路径。它会像
/admin/structure/block/manage/block/5/configure
对于此URL,您应该使用block - block - 5.tpl.php。在这种情况下,数字5是块的delta。您还可以查看块出现的页面的来源(或使用Firebug进行检查)并查找给予块的ID。
答案 1 :(得分:0)
您可以使用hook_block_view_MODULE_DELTA_alter()更改template.php
内的块内容。这样,您可以添加逻辑来决定内容。
/**
* Implements hook_block_view_MODULE_DELTA_alter().
*
* It is better to get the module and delta for block using dpm($block) by
* implementing hook_block_view_alter() before.
*/
function mytheme_block_view_block_1_alter(&$data, $block) {
if (some_criteria_met_on_which_you_wanted_to_change_content) {
$data['content'] = t('This is how I altered the content of the block-1 inside template.php.');
}
}
在上图中,您可以看到 module = block 和 delta = 1 。因此,钩子是mytheme_block_view_block_1_alter()
。
注意:强>
MODULE - 定义块的模块的名称。
DELTA - 该模块中块的唯一标识符,如hook_block_info()中所定义。
查询,使用评论。