Как отобразить теги статьи из Victoire?

Я хотел бы отобразить tags связано с Article из Blogуправляемый Виктуаром.

Как мне это сделать?

1 ответ

Решение

Это возможно с помощью виджета рендеринга.

Создайте файл render_tags.html.twig:

{# Resources/views/Article/render_tags.html.twig #}
{% if tags is not empty %}
    <ul>
        {% for tag in tags %}
            <li>{{ tag }}</li>
        {% endfor %}
    </ul>
{% endif %}

Создайте метод рендеринга в вашем контроллере:

/**
 * @Route("/renderArticleTags/{id}", name="app_render_article_tags")
 * @Template("Article/render_tags.html.twig")
 */
public function renderArticleTagsAction(Article $article)
{
    $tags = [];

    /** @var \Victoire\Bundle\BlogBundle\Entity\Tag $tag */
    foreach ($article->getTags() as $tag) {
        $tags[] = $tag->getTitle();
    }

    return [
        'tags' => $tags,
    ];
}

Добавьте виджет и настройте его:

Во вкладках Article > Current entity:

  • Маршрут: app_render_article_tags
  • Параметры: {"id":"{{entity.id}}"}
Другие вопросы по тегам