Я установил FOSCommentBundle, все работает с отображением входных комментариев, как и ожидалось, но я хочу отобразить 1 поток для каждой сущности, поэтому у меня много планов с разными URL, например: / planning / id. Но всякий раз, когда я публикую комментарий, например, в Planning / 1. Я получил постоянную ссылку, созданную в объекте темы. Но когда я хочу перейти к планированию / 2, он отображает комментарий потока планирования / 1 и не создает другой постоянной ссылки для планирования / 2.
Я не понимаю, что я сделал не так. Так что если у вас есть какие-либо подсказки для моей проблемы, я буду благодарен.
Я создал 2 объекта:
<?php
namespace Simon\CommentBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use FOS\CommentBundle\Entity\Comment as BaseComment;
use FOS\CommentBundle\Model\SignedCommentInterface;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @ORM\Entity
*/
class Comment extends BaseComment implements SignedCommentInterface
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* Thread of this comment
*
* @var Thread
* @ORM\ManyToOne(targetEntity="Simon\CommentBundle\Entity\Thread")
*/
protected $thread;
/**
* Author of comment
*
* @ORM\ManyToOne(targetEntity="Simon\UserBundle\Entity\User")
* @var User
*/
protected $author;
public function setAuthor(UserInterface $author)
{
$this->author = $author;
}
public function getAuthor()
{
return $this->author;
}
public function getAuthorName()
{
if (null === $this->getAuthor()) {
return 'Anonymous';
}
return $this->getAuthor()->getUsername();
}
}
<?php
namespace Simon\CommentBundle\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;
}
И я просто следовал документации, чтобы отобразить комментарий к моему представлению о ветке планирования:
{% extends "layout.html.twig" %}
{% block content %}
<h2>Planning de {{app.user.name}}</h2>
<div class="row">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Lundi</th>
<th>Mardi</th>
<th>Mercredi</th>
<th>Jeudi</th>
<th>Vendredi</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Responsable</th>
{% for i in 1..5 %}
{% set assigned_user = null %}
{% for user in users if user.planningday == i%}
{% set assigned_user = user %}
{% endfor %}
<td>
{% if not assigned_user is null %}
<a href="{{path('fos_user_profile_show_name', {'username':assigned_user.username})}}"> {{assigned_user.name}} {{assigned_user.lastname}}</a>
{% endif %}
</td>
{% endfor %}
</tr>
<tr>
<th scope="row">Description</th>
{% for i in 1..5 %}
{% set assigned_user = null %}
{% for user in users if user.planningday == i%}
{% set assigned_user = user %}
{% endfor %}
<td>
{% if not assigned_user is null %}
{{assigned_user.planningcontent}}
{% endif %}
</td>
{% endfor %}
</tr>
</tbody>
</table>
<a href="{{path('planningsub', {id:planning.id})}}">Inscription</a>
</div>
<div class="row">
{% include 'FOSCommentBundle:Thread:async.html.twig' with {'id': 'foo'} %}
</div>{% endblock %}
Я установил FOSCommentBundle, все работает с отображением входных комментариев, как и ожидалось, но я хочу отобразить 1 поток для каждой сущности, поэтому у меня много планов с разными URL, например: / planning / id. Но всякий раз, когда я публикую комментарий, например, в Planning / 1. Я получил постоянную ссылку, созданную в объекте темы. Но когда я хочу перейти к планированию / 2, он отображает комментарий потока планирования / 1 и не создает другой постоянной ссылки для планирования / 2.
Я не понимаю, что я сделал не так. Так что если у вас есть какие-либо подсказки для моей проблемы, я буду благодарен.
Я создал 2 объекта:
И я просто следовал документации, чтобы отобразить комментарий к моему представлению о ветке планирования:
Решение
Я нашел решение.
Другие решения
Других решений пока нет …