FOSCommentBundle强大评论功能Bundle使用

FOSCommentBundle是symfony2众多bundle中的一员,他有着强大的评论功能。

安装

安装主要分为四个部分

一. 设置bundle

1.下载FOSCommentBundle

2.启用bundle

3. 查看是否开启http_method_override

4. 查看是否开启翻译

 

二. 设置doctrine的ORM

FOSCommentBundle没有提供具体的评论类,这需要自己去创建并继承他提供的基类。这里需要创建两个entity类,分别为Comment和Thread

创建Comment.php

创建Thread.php

配置你的应用程序

注意:将MyProject\MyBundle\替换成自己的bundle。

 

三. 在路由app/config/routing.yml中引入

 

四. 在twig模板中使用

foo是一个标识,来确定调用和展示篇文章的评论,可以用程序灵活替换。

加入jquery

 

五. 运行命令

运行程序你会看到页面

foscommentshow

 

配置

1.添加样式

我们就会看到树状结构了

foscommentcomment

提示:官方也有添加样式的方法和css,不多说了。

如果有大修改可以在app/Resources/SonataAdminBundle下替换默认模板。

 

2. 添加用户

现在的回复全部都是Anonymous状态,我们希望我们的Entity用户能够显示在上面。

你需要在comment.php添加

并在配置app/config/config.yml

AppBundle要替换成自己的bundle

输入命令更新数据库

 

3.添加ACL

我们不希望匿名用户评论,FOSCommentBundle有很强大的权限控制方式

首先,在symfony中开启ACL

运行命令

启用FOSComment的ACL功能 并进行的配置

去改变每个角色的特定操作和显示

将IS_AUTHENTICATED_ANONYMOUSLY改成你需要的角色就可以(例如USER_SHOW)使匿名用户不参与评论了。

最后运行命令

来确保ACL的正确性。

ok,就这样了。

更多详情请阅读

https://github.com/FriendsOfSymfony/FOSCommentBundle

 

 

发表评论