1.9 Views:在 Drupal 中创建新闻(News)信息流
Views 模块是 Drupal 中最受欢迎的模块之一。它允许你以任意形式显示网站中的各种数据——新闻、文章、评论、分类术语(Taxonomy terms)等,可输出为区块(Block)、页面(Page)、RSS 信息流、CSV 文件、XML 文件等多种格式。而且在 Drupal 8 中,Views 模块已经内置在核心中!现在不需要额外安装,它随标准安装包一同提供。
让我们启用 Views 并开始展示数据。
首先创建一个新的内容类型:News(新闻)。
现在我们可以在网站上创建新闻内容了。
为 News 内容类型添加一个图片字段。进入 “Manage Fields” 标签页。你可以直接复用文章(Article)类型中已有的 field_image
字段。
创建几条新闻,以便稍后用 Views 模块展示出来:
接着,创建第一个 View。进入菜单:Structure — Views。
在 Views 页面中,点击“Add view”创建一个新的视图:
按顺序填写视图创建表单。首先输入视图名称,例如 News。选择要显示的内容类型为 News,并保持“Newest first”(按发布时间倒序)选项。
然后勾选“Create a page(创建页面)”,设置页面标题为 News,路径为 /news
。我们将输出 未格式化列表(Unformatted list),使用默认的 div 标签。显示模式使用 Teaser(摘要),即节点的简短内容,这部分在之前的课程中已介绍。
如果新闻数量较多(超过 10 条),可以启用分页功能(pager),默认每页显示 10 条。保留默认选项“Use a pager”。
接下来选择菜单位置,将页面链接添加到 Main navigation(主导航),并命名为 “News”。然后点击保存。
保存后,将进入视图编辑页面。此时可以直接访问新创建的新闻页面进行查看。
接下来,我们创建一个包含最新 3 条新闻的区块(Block),并在其中添加指向新闻页面的链接。新建一个视图,命名为 News block,同样选择输出内容类型为 News。
这次不创建页面,而是创建一个区块。输出类型为未格式化列表(Unformatted list),显示字段(Fields),每次显示 3 条新闻。禁用分页器(Pager)。保存视图。
在视图编辑器中,可以看到许多设置项,例如:标题(Title)、格式(Format)、字段(Fields)、筛选条件(Filter criteria)、排序条件(Sort criteria)、区块设置(Block settings)、页眉(Header)、页脚(Footer)、分页(Pager)以及高级选项(Advanced)。在接下来的课程中,我们将逐一讲解这些选项。现在,我们先为新闻添加一个发布日期字段,并将其显示在新闻标题上方。
在字段搜索中输入 Authored on,勾选它以添加到视图中,然后保存更改。
接着设置日期格式,并取消显示标签(Label):
请注意:发布日期(Authored on) 与内容创建日期不同。创建日期是节点首次创建的时间,而发布日期是内容在勾选“已发布(Published)”后保存的时间。