<?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 doctrine: 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);
})();
Я использую Symfony 3.4 и сталкиваюсь с той же проблемой.
Я надеюсь, что вы можете решить эту проблему, выполнив следующие действия:
Скопируйте vendor/friendsofsymfony/comment-bundle/Resources/public/js/comments.js в web/bundles/foscomment/js/comments.js
Скопируйте vendor/friendsofsymfony/comment-bundle/Resources/views/* в app/Resources/FOSCommentBundle/views/*
Оберните блок JavaScript вокруг <script>Теги файла async.html.twig:
{% block javascripts %}
<script>
// thread id
var fos_comment_thread_id = '{{ id }}';
var fos_comment_thread_view = '{{ view|default('tree') }}';
// api base url to use for initial requests
var fos_comment_thread_api_base_url = '{{ path('fos_comment_get_threads') }}';
// Snippet for asynchronously loading the comments
(function() {
var fos_comment_script = document.createElement('script');
fos_comment_script.async = true;
fos_comment_script.src = '{{ asset('bundles/foscomment/js/comments.js') }}';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(fos_comment_script);
})();
</script>
{% endblock %}
Позаботьтесь, чтобы jQuery загружался до этого javascript.
Я пытаюсь использовать FOSCommentBundle для реализации раздела потока комментариев в моем приложении. Но я следовал руководству по его установке https://github.com/FriendsOfSymfony/FOSCommentBundle/blob/master/Resources/doc/index.md и ничего не появляется для меня.
Я правильно создал классы комментариев и сущностей потоков.
А также
Я также выполнил команду в командной строке php bin / console doctrine: schema: update —force, но не заметил никакой новой таблицы в моем MySQL Workbench.
Мой файл index.html.twig также выложен как
Так что это также выглядит хорошо для меня. И все же, ничего не появляется в конце. Может ли кто-то с большим знанием этого пакета дать мне знать, где я мог пойти не так? Если вам нужно увидеть больше кода, я буду очень рад показать вам.
Также это выглядит как код JavaScript в исходном коде страницы.
Решение
Я использую Symfony 3.4 и сталкиваюсь с той же проблемой.
Я надеюсь, что вы можете решить эту проблему, выполнив следующие действия:
Скопируйте
vendor/friendsofsymfony/comment-bundle/Resources/public/js/comments.js
вweb/bundles/foscomment/js/comments.js
Скопируйте
vendor/friendsofsymfony/comment-bundle/Resources/views/*
вapp/Resources/FOSCommentBundle/views/*
Оберните блок JavaScript вокруг
<script>
Теги файлаasync.html.twig
:Позаботьтесь, чтобы jQuery загружался до этого javascript.
Другие решения
Других решений пока нет …