twigのコメント表示に問題があります。私はそれらをすべて列挙すれば表示されますが、入れ子にする必要があります。twigで再帰的にコメントを表示する方法
これが実体である、私はそれがこのように参照する必要があると思った:
/**
* @var \AppBundle\Entity\Comment
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Comment")
* @ORM\JoinColumn(name="parentId", referencedColumnName="id")
*/
private $parentId;
コントローラはシンプルですが、私はこれを追加いくつかの命令の次の(と、とPARENTIDなし)デシベルとリターンのアレイ からすべてのコメントを取得しますメイン小枝ファイルへ:
<!-- Comments and omments with parentId -->
{% include 'front/main/comments-main.html.twig' with {'commments':comments} %}
すべてのコメントの掲載を機能させます。しかし、含まれている小枝では、これはコードの平和のようです
{% if comment.parentId != null %}
{% set children = [] %}
{% set children = children|merge([ comment ]) %}
{% include 'front/main/comments-main.html.twig' with {'comments':children} %}
{% endif %}
は動作しません。私が何かをエコーすると、そのidでコメントの下で適切な場所に表示されます。しかし、もしそうでなければ、その中にその行があります。ページの読み込みが非常に遅く、終了しません。無限ループのように。私が間違っていることは何ですか?
あなたはこのを見て、これを解決するためにmacro's' 'と連携する必要があります[解答](https://stackoverflow.com/questions/45955614/multi-level-menu-with-twig/45956255# 45956255) – DarkBee
私はこのhttps://stackoverflow.com/questions/8326482/how-to-render-a-tree-in-twigに従っていました。ランダムコーダ-1920からの最初の答え。彼はマクロと無しの両方でそれをやった。私はマクロを試す必要があります.... –
はい、しかし、彼は含まれるためにサブテンプレートを使用しています。テンプレート全体をもう一度含めて、無限ループになります。 'マクロ'はこれを解決するためにちょっとだけ洗っています(再利用可能です) – DarkBee