我正在尝试使用 FOSCommentBundle 在我的应用程序中实现评论线程部分。但是我已经按照指南安装它https://github.com/FriendsOfSymfony/FOSCommentBundle/blob/master/Resources/doc/index.md并没有出现任何内容。我已经根据我所看到的正确创建了评论和线程实体类
<?php
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;
/**
* @var Thread
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Thread")
*/
protected $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;
}
我还在命令行 php bin/console dictionary:schema:update --force 中发出了命令,但没有注意到我的 MySQL Workbench 中有任何新表。
我的 index.html.twig 文件的布局也像
{% extends 'base.html.twig' %}
{% block body %}
{% include '@FOSComment/Thread/async.html.twig' with {'id': 'foo'} %}
{% endblock %}
{% block javascripts %}
<script src="http://code.jquery.com/jquery-3.2.1.js"></script>
{% endblock %}
所以这对我来说也很好。然而,最后什么都没有出现。对这个捆绑包有更多了解的人可以让我知道我可能出错的地方吗?如果您需要查看更多代码,我很乐意向您展示。
这也是 JavaScript 代码在页面源代码中的外观
// thread id
var fos_comment_thread_id = 'foo';
var fos_comment_thread_view = 'tree';
// api base url to use for initial requests
var fos_comment_thread_api_base_url = '/api/threads';
// Snippet for asynchronously loading the comments
(function() {
var fos_comment_script = document.createElement('script');
fos_comment_script.async = true;
fos_comment_script.src = '/bundles/foscomment/js/comments.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(fos_comment_script);
})();