我是否正确理解Drupal区域和视图?

时间:2009-10-30 18:10:36

标签: drupal drupal-views drupal-blocks drupal-regions

我们正在Drupal中构建一个内容丰富的网站。这是我第一次使用它。此站点有各种各样的部分,每个部分都有不同的布局。我计划通过phptemplate_preprocess_page()方法确定page.tpl.php。

我的问题是如何最好地指定给定页面中的哪个位置放置不同的辅助内容块。我们有很多侧边栏类型的组件,每个组件都有几个小列表或图像组。我认为这里最好的方法是根据需要定义多个区域,并将自定义视图(使用“视图”模块)放入这些区域。这看起来合情合理吗?

更新

关于将视图视为查询 - 让我感到困惑的是视图还有修改其外观的选项。我更喜欢,如果我可以从View中获取一个节点数组,那么我可以在PHP中操作数据,而不是格式化标记。这可能吗?

3 个答案:

答案 0 :(得分:3)

是的,您可以使用自定义区域,并将自定义视图放入其中。

您甚至可以使用创建自定义块并在其中使用视图。

这取决于你所拥有的布局结构。

答案 1 :(得分:3)

为了扩展Rishavs(正确)答案,块是填充区域的“标准”元素。 page.tpl.php中的区域定义了广泛的一般布局(例如标题,一些列/侧边栏和页脚 - 您需要的任何内容)。在一个区域内,您可能只放置一个东西(例如视图),但通常更多的是几个块的形式。它们在区域中出现的顺序由块权重决定。

您可以通过将类型块的显示添加到“基本”视图定义中,直接在视图模块中创建块。此外,您定义的每个菜单都将作为一个块提供。在自定义模块中创建自己的块也非常简单,让您可以完全控制其内容(请参阅hook_block())。这样,例如,您可以将表单放入块中(标准Drupal安装的登录块就是一个示例)。

答案 2 :(得分:1)

视图(内容列表)是数据库查询。区域是页面的一个区域(左侧边栏,页脚等)。区域在页面模板(tpl.php)中分配,并将根据您使用的主题而有所不同。通常,辅助内容(包括但不限于视图)通过块放置。将块分配给区域时会显示块(“右侧栏”中的“新用户”)。此外,视图也可以嵌入页面模板中(在区域外部)。

相关问题