Я хочу отобразить последние x сообщений на боковой панели.
Так что в настоящее время у меня есть следующее в моем base.twig:
{% block sidebar %}
{% for page in lastPages %}
<a href="{{ path('page_show', {'slug': page.slug}) }}">{{ page.title }}</a> <br>
{% endfor %}
{% endblock %}
В моем контроллере я использую хранилище дляполучить последние сообщения:
$lastPages = $pageRepository->getLastPages();
И после этого я отображаю представление
return $this->render('page/index.html.twig', ['lastPages' => $lastPages, .....]);
Но теперь я хочу использовать эту функцию все функции в каждом контроллере.
iмог бы создать метод в AbstractController
как
function getLatestPosts(PageRepository $pageRepository): array
{
$pageRepository->getLastPages();
}
и после этого сделать представление:
return $this->render('page/index.html.twig', ['lastPages' => $this->getLatestPosts($repository), .....]);
Но, э-э.
Есть ли что-то вродеглобальный фильтр / функция, например?Я не нашел хорошего способа сделать это.