我刚刚开始学习symfony 2,我有一个小问题
例如,我有一个包含文章的网站。我想在每个页面上显示文章总数,但每个页面都是由一些包生成的。
所以我需要一些常用的脚本来做主变量的初始化,例如文章计数。
我该怎么做?
答案 0 :(得分:7)
实现此目的的一种简单方法是获取一个获取并输出文章总数的操作。然后,您可以在其他视图中呈现该操作(例如:$view['actions']->render('ArticlesBundle:Articles:getCount')
)。如果您希望在网站的每个页面上显示此内容,我建议您在base.html.php
视图(或base.html.twig
内)根据您使用的模板引擎进行渲染。我还建议以某种方式缓存它,因此您不会经常访问数据库以获得可能不会经常更改的计数。
有关详细信息,请参阅Embedding Controllers上的文档。
您可以进一步扩展此示例,以定义要在整个站点中使用的其他“主要变量”。一种想法是定义一个服务对象,其目的是保存这些变量,然后在需要时访问其内容。
顺便说一句,你问题的标题并不能描述你的问题,请考虑改写它。