首页 > 解决方案 > Symfony 固定页面上的元素

问题描述

我有以下问题,我有一个随处加载的模板 layout.html.twig,其中我有一个菜单,其中包含从数据库下载的类别,现在我的问题是如何从每个数据库中创建一个类别列表控制器,而不是每次都从其中下载一个类别存储库和所有类别。我在 Symfony 中工作了很长时间,但我创建的 API 没有视图,因此出现了问题。一般来说,我希望在加载 layout.html.twig 之后,在没有我干预的情况下下载一个类别列表,绕过在控制器的每个操作中加载此列表。

我在网站上有固定的元素,例如:从数据库下载的类别菜单,在主页上我有热门文章也必须在每个子页面上,每次都下载每个控制器中的所有内容是没有意义的。

有任何想法吗?

标签: symfonytwig

解决方案


我会menuFragment在我的 DefaultController 中创建一个方法,并使用子请求来呈现它。

https://symfony.com/doc/current/template/embedding_controllers.html

有些人会告诉您子请求会减慢您的代码,但如果您不过度使用它,这并不重要。1-3 个子请求根本不是问题。


推荐阅读