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

我是否正确理解Drupal区域和视图?,drupal,drupal-views,drupal-blocks,drupal-regions,Drupal,Drupal Views,Drupal Blocks,Drupal Regions,我们正在Drupal中构建一个内容非常丰富的站点。这是我第一次使用它。这个网站有各种各样的版块,每个版块都有不同的布局。我计划通过phptemplate_preprocess_page()方法确定page.tpl.php 我的问题是如何最好地指定在给定页面中放置不同的次要内容块的位置。我们有很多侧边栏类型的组件,每个组件都有几个小列表或图像组。我认为这里最好的方法是根据需要定义多个区域,并将自定义视图(使用视图模块)放入这些区域。这看起来合理吗 更新: 关于将视图视为查询-让我困惑的是,视图还可

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

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

更新:


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

是的,您可以使用自定义区域,并在其中插入自定义视图

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


这取决于布局的结构。

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


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

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

请记住,即使不在模板中输出块区域,也会生成块区域,这会降低性能。使用显示规则确保只有在页面上实际使用了块的情况下才会处理它们。@D.Pfeffer:至于执行视图而不呈现结果,请参阅:顺便说一句,在已回答的问题上添加这样一个(不同的)后续问题不会有任何效果,因为没有多少人会注意到。在这样的情况下,你应该问一个新问题(如果仍然相关,可能会链接到原始问题)。我更新了关于你解释的问题。谢谢。嗨,D。Pfeffer,我建议你仔细看一下介绍视频,它有点像Drupal的萤火虫。当您将鼠标悬停在页面上的某个元素上时,此模块将提供生成该元素的函数以及传递该元素的模板(以及将覆盖该元素的潜在模板)。它还提供已传递的函数参数及其值。