相关内容是一个很好地组织内容的形式,方便访问用户看到相似的文章内容,既然我们已经给每一个文章一个TAG标签,说明只要属于同一个TAG分类标签的都可以认为是互相是有一定的关系相似性的,实现这样的功能除了使用Similar By Terms 模块实现之外,我们直接使用VIEW视图来建立一个区块显示当前文章的相关文章列表。
这里以找表哥网站为例做演示:
1、进入【热门问题】视图,点击【克隆 热门问题】(你也可以新建一个内容列表,字体为标题字段),修改相应的名称。
2、现在的文章列表已经出来了,我们要把无关的内容过滤掉,添加分类关联(找表哥的问题类型的分类字段是:field_question)【高级】-【关联】-添加,选择内容:话题 这里分类。
drupal使用view生成相关文章列表
drupal使用view生成相关文章列表
不用勾选【需要这个关联】应用进入下一步。
3、重点在于添加【上下文过滤器】-添加-过滤中-选择【分类术语】快速选出【分类术语:术语ID】
drupal使用view生成相关文章列表
drupal使用view生成相关文章列表
4、【提供一个默认值】-类型【URL里的分类术语的ID】-去掉【Load default filter from term page】选项,勾选第二个【Load default filter from node page, that's good for related taxonomy blocks】,勾选【根据词汇表限制术语】,根据自己的需要选择的分类【话题】,然后选择【Filter to items that share any term】,拉到最下面-【更多】,勾选【允许多个值】
drupal使用view生成相关文章列表
5、现在可以把区块分配到边栏【sidebar】区域显示了,进入区块管理,找到由视图生成的【相关问题】并放入边栏,并拖动调整合适的顺序,进入区块的设置,我只想在问题的列表和内容页显示这个区块,这里需要排除一下页面。
drupal使用view生成相关文章列表
drupal使用view生成相关文章列表
但是,发现列表里面第一条是与当前的内容标题是重复的,这并不是我们想要的结果,我们再回到视图,把重复的这条记录再次过滤掉。
在【上下文过滤器】添加【内容:nid】-提供默认值【URL上的内容ID】
drupal使用view生成相关文章列表
drupal使用view生成相关文章列表
最后一步,【更多】勾选最后一个选项【不包含】应用,回到内容页刷新,这就是我们要的结果:
drupal使用view生成相关文章列表
网友评论