一直有个疑问,V2 在首页不显示某些贴子是如何实现的?

2014-08-28 15:17:54 +08:00
 autofans
是通过在数据库里加入特定标记实现的么?能否展开说说?
2228 次点击
所在节点    问与答
9 条回复
Livid
2014-08-28 15:30:13 +08:00
后台中可以设置,每次保存设置之后,生成一个 node id 的 list,这个 list 放入缓存。在渲染列表页面时,检查 node_id 是否在这个 list 中,如果在,就跳过。
autofans
2014-08-28 15:34:57 +08:00
原理明白,就是不清楚技术细节。类似于置顶的帖子,是不是也是给帖子ID加一个过期时间很长的时间戳来实现?
Livid
2014-08-28 15:36:14 +08:00
@autofans 如果排序是按照时间的整数,那么设置一个超过当前时间的整数,就可以实现置顶的效果了。
kmvan
2014-08-28 15:45:26 +08:00
不显示特定帖子,是不是block功能?
Livid
2014-08-28 15:47:16 +08:00
@kmvan Block 及被 Block,忽略节点,二次元节点,忽略主题,都会影响首页上“全部”这个 tab 的列表构成。
kmvan
2014-08-28 15:56:07 +08:00
如果我没理解错的话,block功能是登录用户才能用吧。
那感觉lz的问题很简单就可以实现啊,user 的meta表里加上一个 blocked 的key,对应value就是已block的帖子id,显示列表的时候判断一下当前帖子是否在当前用户的block列表里面就ok了。
如果是 游客 也能进行block操作的话,估计只能是用cookie记录吧。

话说block功能只是“自己的功能”吧,block的帖子自己看不到,那二楼为啥要“生成list”?这个list指的是已block的帖子id,还是其他什么的?
kmvan
2014-08-28 15:57:14 +08:00
@Livid 你说的忽略主题还是忽略节点呢?
autofans
2014-08-28 16:29:10 +08:00
似乎明白了一点,待我揣摩一下
20150517
2014-08-28 17:00:55 +08:00
select * from threads where hidden=False

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/130426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX