Drupal:如何在视图页面中显示块/区域?

时间:2011-01-18 12:46:44

标签: php drupal drupal-6 drupal-views

我有一个视图页面,其中包含我的某个内容类型的列表。我使用views-view-list--<name of my view>.tpl来主题化页面。但是,我定义的区域/块未显示。在其他页面中它工作正常,但在视图页面上它没有。我正在尝试在我定义的区域中显示user login block

请告诉我如何访问我的user login block或我的区域以显示我的观看次数。

非常感谢您的帮助。顺便说一下,我正在使用drupal 6。

致以最诚挚的问候,

5 个答案:

答案 0 :(得分:3)

想想我昨天碰到了类似的事情。我试图打印一个区域,例如

<?php print $footer ?>

但是在来自视图的tpl文件中 - 无论出于何种原因,它都不会从其中一个视图tpl文件输出该区域。

我使用了这段代码:

<?php print theme('blocks', footer); // change "footer" to the name of your region ?>

答案 1 :(得分:1)

在我写这篇文章时,D7中更安全,也许是推荐的方式是:

<?php 
  $region = block_get_blocks_by_region('footer') //first define the block;
  print render($region) // then print the block; 
?>

我试过@Garry但是我从Drupal那里得到了一些错误。 Please see here

希望这可以帮助有人下线。

答案 2 :(得分:0)

drupal中的任何页面都有基于url或内容类型的页面模板。因此,您必须为页面创建正确的页面模板,以显示视图页面/块。我假设你正在使用基于url的页面模板

答案 3 :(得分:0)

这对我有用,除了上面的语法需要在()之后的分号;例如print render($ region);否则,谢谢你的回答

答案 4 :(得分:-1)

这就是使用Bootstrap-HTML标签的代码片段对Drupal 7有效的方法,考虑到&#39;广告牌&#39;地区主持广告:

          <aside class="col-xs-0 col-sm-12 role="banner"> 
            <?php
                $region = block_get_blocks_by_region('billboard');
                print render($region);
                ?>
          </aside>