FOSCommentBundle не появляется

Я пытаюсь использовать 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 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);
})();

0

Решение

Я использую Symfony 3.4 и сталкиваюсь с той же проблемой.
Я надеюсь, что вы можете решить эту проблему, выполнив следующие действия:

  1. Скопируйте vendor/friendsofsymfony/comment-bundle/Resources/public/js/comments.js в
    web/bundles/foscomment/js/comments.js

  2. Скопируйте vendor/friendsofsymfony/comment-bundle/Resources/views/* в app/Resources/FOSCommentBundle/views/*

  3. Оберните блок 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 %}
    
  4. Позаботьтесь, чтобы jQuery загружался до этого javascript.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]