跳转到主要内容
cloudio 提交于 20 July 2012

用户的“访问记录”(即用户浏览过指定内容类型的页面,按照访问时间显示在指定区块中)

 

1.下载、安装 rules, flag, views

2.配置flag :

 (1) 创建1个名为 recently_viewed 的flag,配置如下图

 (2) 然后在到rules - > Triggered rules 页面,创建一个名为 Re-flag node recently_viewed 的rule,

其中 IF 选项卡 添加 1个Check a truth value的conditio,图示如下:

在check a truth value 配置页面,Truth value:* 项填入 <?php echo $page ?>,如下图:

 

 

接下来在 DO 选项卡 添加2个action,分别名为 Unflag viewed content, under "Recently viewed"(意义是打开页面先执行unflag)

 

以及Flag viewed content, under "Recently viewed"(意义为打开页面执行flag),如下图

 

 (3) 通过views 建立需要输出的字段并可theme,这里只需要输出带链接到文章的标题就行了,当然也可以加上文章缩略图、建立时间等等字段,根据需求而定。如图:

建立views中主要注意的是,建立之前的flag 的 Relationships,设置如上图,然后Sort criteria排序方式按照flag的时间降序排列。其他的设定都可根据自己的需求而定。

 

所有的步骤结束,那么你的“浏览记录”也就生成了,呵呵。

 

ps:经测试,如果用panel构建的node页面框架的话,那么上面的方法将完全失效,panel同rules和flag都有兼容性的问题。还有一点,就是如果是要让匿名用户也具有“浏览记录”的话,需要在增加一个Session api模块,安装后会有用户访问权限的选项自动增加到flag设置中去。