3.5.2. Views 暴露过滤器 —— Drupal:公告板
Views 模块不仅允许我们设置过滤器并显示内容,还可以让用户动态地更改这些过滤条件。下面我们将使用 Views 模块创建一个简单的房地产公告板。
为了显示公告,我们首先需要创建一个公告(Announcement)内容类型。进入菜单:结构(Structure)→ 内容类型(Content types)→ 添加内容类型(Add Content type):
接下来,为该内容类型添加以下字段:房间数量、价格、地址、电话、姓名。进入“公告”内容类型的 管理字段(Manage fields) 选项卡:
对于房间数量字段,选择字段类型 列表(文本)List (text):
然后设置可用的房间类型选项:
还需要添加一个价格(Price)字段,字段类型选择 数字(整数)Number (integer)。在价格字段的设置中,添加前缀或后缀以便在价格前或价格后显示货币符号:
地址、电话和姓名字段可使用 文本(纯文本)Text (plain) 类型。
现在我们已经准备好了字段,接下来创建一个公告视图(View)。进入:结构 → 视图(Structure → Views → Add view):
添加过滤条件 房间数量(Number of rooms),并勾选 暴露此过滤器(Exposed this filter) 复选框:
这将允许在公告页面上直接显示该过滤器:
现在,当我们选择任意一个房间数量时,页面将仅显示该类型的公寓:
同样,我们还可以为公告内容类型添加其他字段,并将它们设置为暴露过滤器。比如我们可以将价格(Price)字段添加为暴露过滤器:
在操作符(Operator)中选择 Between(区间),用户就可以输入自己希望的价格范围来过滤公告。
除了暴露过滤器,我们还可以让用户选择排序方式。例如,我们可以添加一个价格排序选项,让用户根据价格升序或降序排列结果:
现在,我们已经成功为公告列表添加了过滤和排序功能。最后,只需在主题中对该视图进行样式化即可: