FOSCommentBundle如何实施

时间:2017-05-09 13:31:09

标签: php symfony foscommentbundle

是否有一些例子来实现这个?不要在我的页面上显示任何内容。

{% include 'FOSCommentBundle:Thread:async.html.twig' with {'id': 'foo'} %} 

我不明白如何放置此代码以及将在我的页面上显示的内容。

当我把它放在config.yml

上时
    assetic:
         bundles: [ "FOSCommentBundle" ]   

创建错误:

无法识别的选项"资产"在" fos_comment"。

我的配置:

fos_comment:     db_driver:orm     类:         模型:             评论:BackEndBundle \ Entity \ Comment             thread:BackEndBundle \ Entity \ Thread

assetic:     捆绑:[" FOSCommentBundle" ]

1 个答案:

答案 0 :(得分:3)

我假设你已经配置了bundle并创建了这样的require类

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\CommentBundle\Entity\Comment as BaseComment;

/**
 * @ORM\Entity
 * @ORM\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
 */
class Comment extends BaseComment
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * Thread of this comment
     *
     * @var Thread
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Thread")
     */
    protected $thread;
}

和Thread.php一样

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\CommentBundle\Entity\Thread as BaseThread;

/**
 * @ORM\Entity
 * @ORM\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
 */
class Thread extends BaseThread
{
    /**
     * @var string $id
     *
     * @ORM\Id
     * @ORM\Column(type="string")
     */
    protected $id;
}

在你的config.yml中,你现在将拥有类似这样的东西

fos_comment:
    db_driver: orm
    class:
        model:
            comment: AppBundle\Entity\Comment
            thread: AppBundle\Entity\Thread

运行以下命令

doctrine:cache:clear-metadata
doctrine:schema:update --force

在此之后,您将在数据库中拥有实体的表 现在将其包含在模板顶部

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>

您已将此

包括在内
{% include 'FOSCommentBundle:Thread:async.html.twig' with {'id': 'foo'} %}

在此步骤后清除dev和prod缓存。 PS:我选择了学说ORM方法