主攻帝国 全栈为辅

帝国Cms收藏喜欢功能的实现原理记录

本节描述一下收藏喜欢功能的逻辑顺序,以及提交的字段和处理。

  提交地址:

  /e/member/doaction.php

  参数

  enews:AddFava

  id://id号

  classid://分类id,

  from://选填

  cid://选填

  其它的字段可以通过缓存或数据库中获取。

  之前可能需要再判断一下会员模板是否关闭了。这样会更严谨一点。

  1.先判断用户是否登录,对登录状态进行处理。

  2.判断id,classid是否为空,为空则直接返回。

  3.表不存在,则也直接返回

  4.在表中查看记录,不存在也返回

  5.也要查一下是否收藏了,收藏的条件字段,id,classid,userid

  6.不同的会员组,有不同的收藏条数限制,通过groupid,$user['groupid']的favanum进行判断。$level_r[groupid][favanum],

  7.将收藏数据放到收藏表中enewsfava,字段为id,favatime,userid,username,classid,cid.其中favatime为Y-m-d H:i:s的形式,其实这个地方换成时间戳会好一点。帝国就这样。没得办法。cid为分类的id,可以不添加。添加好了,直接返回即可。

  另外补充一下,本表自增字段favaid。帝国就是这么变态,基本上表的自增的字段都不一样,如果统一为id就好了。