我知道在page.tpl.php上添加一个区域,甚至在Drupal6中添加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函数可以帮助实现这一点?
发布于 2012-01-13 07:29:58
您可以使用drupal_get_region_content()加载任何区域的内容。因此,理论上您可以在模板的开头添加以下代码行,以获得所需的结果:
<?php $inner_sidebar_right = drupal_get_region_content('inner_sidebar_right'); ?>然而,正如你最初帖子的评论中所提到的,我不建议这是一个理想的解决方案。根据你的最终目标,很可能有一种更优雅的方式来实现这一点。
https://stackoverflow.com/questions/6593222
复制相似问题