2

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

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

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

当我把它放在我的config.yml

    assetic:
         bundles: [ "FOSCommentBundle" ]   

创建一个错误:

“fos_comment”下无法识别的选项“assetic”。

我的配置:

fos_comment:db_driver:orm 类:模型:注释:BackEndBundle\Entity\Comment 线程:BackEndBundle\Entity\Thread

资产:捆绑:[“FOSCommentBundle”]

4

1 回答 1

3

我假设您已经配置了捆绑包并创建了像这样的需要类

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方法

于 2017-05-09T17:59:38.823 回答