我应该如何在每个页面上放置文章总数

时间:2011-09-13 13:14:39

标签: symfony

我刚刚开始学习symfony 2,我有一个小问题

例如,我有一个包含文章的网站。我想在每个页面上显示文章总数,但每个页面都是由一些包生成的。

所以我需要一些常用的脚本来做主变量的初始化,例如文章计数。

我该怎么做?

1 个答案:

答案 0 :(得分:7)

实现此目的的一种简单方法是获取一个获取并输出文章总数的操作。然后,您可以在其他视图中呈现该操作(例如:$view['actions']->render('ArticlesBundle:Articles:getCount'))。如果您希望在网站的每个页面上显示此内容,我建议您在base.html.php视图(或base.html.twig内)根据您使用的模板引擎进行渲染。我还建议以某种方式缓存它,因此您不会经常访问数据库以获得可能不会经常更改的计数。

有关详细信息,请参阅Embedding Controllers上的文档。

您可以进一步扩展此示例,以定义要在整个站点中使用的其他“主要变量”。一种想法是定义一个服务对象,其目的是保存这些变量,然后在需要时访问其内容。

顺便说一句,你问题的标题并不能描述你的问题,请考虑改写它。