今天在views做一个相关推荐的时候遇到的需求:
在article的详情页下方推荐相关的article N篇。
- 当前article需要排除在推荐的列表外;
- 根据当前article的category做推荐,就是推荐当前article相同category的article。
在之前我的做法是通过hook修改查询sql实现的,今天好好研究了下,终于找到了在views里面配置的方法。
1、在Contextual filters (上下文过滤)中可以根据当前url来进行某些筛选:
比如这里,以url对应的内容ID作为筛选值,这个就相当于查询的还是当前article,但是我现在要的是排除当前article。
在Contextual filters 的最下方有一个更多,里面有一个exclude,勾选这个选项,就表示排除上面给的筛选值,这样就实现了排除某个值的筛选,这在的详情页相关推荐的时候非常有用。
2、在Contextual filters (上下文过滤)中可以根据当前url来进行某些筛选:
这里有一个根据来自url的taxonomy筛选,我认为就是根据当前页面的taxonomy 筛选,下面还可以指定是哪一个taxonomy。
一般我们用taxonomy做分类之类的数据,这里其实就是根据当前node的某个分类值进行筛选。