我知道如何在Drupal 6中的page.tpl.php甚至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函数来帮助完成这个任务吗?
您可以使用drupal_get_region_content()来加载任何地区的内容。因此,理论上,您可以在模板的开头添加以下代码行以获得所需的结果:
<?php $inner_sidebar_right = drupal_get_region_content('inner_sidebar_right'); ?>
然而,正如在你原来的帖子的评论中提到的,我不建议这是一个理想的解决方案。根据您的最终目标,很可能有一种更优雅的方式来完成此任务。