CakePHP的“积分”系统

时间:2013-03-16 23:53:19

标签: php cakephp cakephp-2.3

我正在使用CakePHP构建自定义社交网络包。我们希望有一个用户根据活动获得积分的系统。上传一张照片? 10点给你。评论一个? 5分。这些点可以被缓存以进行诸如获取某些内容的高级访问权限,用户可能需要为此付费。

此外,我希望与Session Flash消息分开显示消息。我还希望网站管理员能够根据事件配置点和消息。通过这种方式,他们可以为访问/登录等内容做宣传,或者在周末/周内进行照片发布,然后在宣传完成后再将数字放回去。

是否有可以帮助我的组件或行为?如果没有,我可以用一个基本的想法来实现这个吗?

1 个答案:

答案 0 :(得分:0)

我认为Cake可以在没有插件的情况下处理这个问题。我认为您需要将点数附加到用户提交的每个项目(例如照片,评论等)。因此,在每个模型中,我将添加一个点值列。

对于管理员方面,它有点困难,因为链接所有内容的最佳方式是用户HABTM Photo,Comment等等。这意味着调整/编辑您必须首先加载用户的点。这可行,除非您期待成千上万的用户。然后,它可能会变得势不可挡,尽管它仍然可以正常运作。

全局点开/关开关,或针对像照片等特定模型的开关,可以在另一个模型中处理,比如Point。在这里,您可以设置两列资源和点。所以,例如,照片,10;注释,5 ...关闭开关可以将其中一个或多个设置为0.这在CakePHP文档(http://book.cakephp.org/2.0/en/models/saving-your-data.html)的“保存您的数据”页面中得到了很好的介绍。再次,希望这会有所帮助。