我知道在page.tpl.php上添加一个区域,甚至在Drupal 6中添加node.tpl.php。但是,我有一个特殊情况,我需要在另一个区域中添加一个区域。
在我的Drupal安装中,我找到了region.tpl.php文件,如下所示:
<div class="<?php print $classes; ?>">
<?php print $content; ?>
</div><!-- /.region -->
我修改了它以输出我的自定义区域:
<div class="testing <?php print $classes; ?>">
<?php print $content; ?>
<?php if ($inner_sidebar_right): ?>
inside inner-sidebar-right
<div class="inner-sidebar-right"><?php print $inner_sidebar_right; ?></div>
<?php endif; ?>
它不起作用。
ps:在node.tpl.php中添加区域时,必须在template.php中操作_preprocess_node。 是否有一个_preprocess_region函数可以帮助实现这个目标?
答案 0 :(得分:0)
您可以使用drupal_get_region_content()加载任何地区的内容。因此,理论上您可以在模板的开头添加以下代码行以获得所需的结果:
<?php $inner_sidebar_right = drupal_get_region_content('inner_sidebar_right'); ?>
但是,正如您对原始帖子的评论中所提到的,我不建议将其作为理想的解决方案。根据您的最终目标,很可能有一种更优雅的方式来实现这一目标。