Drupal 7 - 如何在另一个区域内添加区域?

时间:2012-12-04 05:22:27

标签: drupal drupal-7

我很惊讶我无法在网上找到答案。

我正在为drupal网站创建一个自定义标题,所以我在.info和一个区域中创建了一个custom_header区域 - custom-header.tpl.php文件。在该地区内,我需要添加另一个地区。

我尝试使用 - <?php print render($page['regionname']); ?>打印标题区域内的其他区域,但没有显示任何内容。

良好的做法与否,我该怎么做?

1 个答案:

答案 0 :(得分:1)

$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);