为了使小半文章更加对口、内容更加精准,现在我作死在这里列一个目标。
用Php做小半的个性推荐系统
应用场景:
文章列表推荐、系统通知推荐、首页“编辑推荐”、文章列表“日刊精选” 中的内容推荐
运作模式
1. 用户注册后首次访问小半首页,弹出选项卡提醒设置兴趣分类, ID保存至后台用户偏好字段(此字段在读取时通过数组输出,保存时打印数组并使用半角逗号分隔数字),读取文章列表时输出并推荐
2. 通过浏览器cookies 记录每一次用户打开的小半文章分类及次数,关闭小半时排序生成最多浏览的一个分类,通过判断语句将此分类 ID 保存或替换至现有的用户偏好字段数组[0]下标,读取首页系统通知、“编辑推荐”时输出并推荐(用户偏好数组[1]下标用于在文章列表“日刊精选”中输出并推荐)
代码逻辑
字段输入
- 首页设置时保存到临时数组,设置完成后将数组以半角逗号分隔打印并保存到后台用户偏好字段
- 用户浏览小半时将设置cookies,如:'分类名' == '浏览次数',结束小半浏览器窗口时弹出通知,延迟2~3秒关闭时间,此段时间内将所有分类浏览次数排序并将分类名加入至数组A,打印现有用户偏好数组B,判断数组B[0]下标是否与数组 A[0]下标数据相同,若不相同,则将数组 A的[0]下标保存至数组 B的[0]下标,并将之后的数组元素下标依次加一(通过unshift 实现)。用户使用频率更高时用户偏好字段就会相对更加固定,只在前两个下标中轮换改变数值。
文章列表
执行query 时通过cat 限制显示文章分类,'cat' => 后台用户偏好字段直接输出
首页文章
用户登陆后后台打印用户偏好字段至临时数组,将数组[0]下标的 ID对应的分类进行3天之内文章发表时间排序并向
- 右上角弹窗向用户提示最新一篇文章,如:“您喜爱的 XX 分类下近期有热文更新,是否查看?”
- 首页置顶文章“编辑推荐”将显示此最新一篇文章
首页日刊精选
执行query 时通过cat 限制显示文章分类,'cat' => 保存用户偏好字段至的临时数组的[1]下标输出
目前就想到这么多,6月份开工,之后慢慢完善吧...
20-5-2018