2

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

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

更新:

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

4

3 回答 3

3

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

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

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

于 2009-10-30T18:32:05.310 回答
3

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

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

于 2009-10-30T18:53:28.497 回答
1

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

于 2009-11-02T23:18:56.530 回答