Symfony4在侧边栏中显示最新帖子

Symfony4在侧边栏中显示最新帖子,symfony,symfony4,Symfony,Symfony4,我想在侧边栏中显示最后的x个帖子 因此,目前我的base.twig中有以下内容: {% block sidebar %} {% for page in lastPages %} <a href="{{ path('page_show', {'slug': page.slug}) }}">{{ page.title }}</a> <br> {% endfor %} {% endblock %} 然后,我渲染视图 return $

我想在侧边栏中显示最后的x个帖子

因此,目前我的base.twig中有以下内容:

{% block sidebar %}
    {% for page in lastPages %}
        <a href="{{ path('page_show', {'slug': page.slug}) }}">{{ page.title }}</a> <br>
    {% endfor %}
{% endblock %}
然后,我渲染视图

return $this->render('page/index.html.twig', ['lastPages' => $lastPages, .....]);
但是现在我想在每个控制器中使用这个函数

我可以在
AbstractController
中创建一个方法,就像

function getLatestPosts(PageRepository $pageRepository): array
{
    $pageRepository->getLastPages();
}
然后渲染视图:

return $this->render('page/index.html.twig', ['lastPages' => $this->getLatestPosts($repository), .....]);
但是呢


是否有类似全局过滤器/函数的功能,例如。?我没有找到一个好方法来实现这一点。

在您的模板中,您可以呈现负责边栏的控制器,如下所示:

{{ render(controller('App\\Default::renderSidebar')) }}
在这里阅读更多关于它的信息

{{ render(controller('App\\Default::renderSidebar')) }}