我很惊讶我在网上找不到这个答案。
我目前正在为我的 drupal 站点创建一个自定义标头,因此我在 .info 和一个 region--custom-header.tpl.php 文件中创建了一个 custom_header 区域。在区域内,我需要添加另一个区域。
我尝试使用 - 打印标题区域内的其他区域<?php print render($page['regionname']); ?>
,但没有显示任何内容。
好习惯与否,我该怎么做?
$page
在 region.tpl.php 文件中不可用(例如,在 node.tpl.php 中,它可用,但仅作为完整页面状态的标志,而不是包含区域信息的数组)。
要访问 region.tpl.php 中的任何区域,您应该通过预处理函数创建新变量。
添加到您的 template.php 文件:
function youtheme_preprocess_region(&$variables) {
$variables['regionname'] = block_get_blocks_by_region('regionname');
}
然后你可以像这样从这个区域输出内容:
echo render($regionname);