我正在寻找一种方法来获得一个网站导航菜单,该菜单主要用于布局文件,然后在模板中进行扩展。
在zend中,我将创建一个视图助手,它将获取相关项并呈现链接。我目前在一个枝条模板中硬编码菜单,由其他人扩展(如zend中的布局)。它并不觉得这是最好的方法。
我正在尝试将代码拆分成单独的内容,因为我正在使用twig url helper来生成链接。
我已经研究过twig函数,但它们似乎主要用于获取数据而不是渲染可以重复使用的html片段。我还考虑过创建一个服务,它可以获得带有标题,路线等数据的数组,但我想我必须在模板需要导航菜单的每个动作中使用它,感觉就像symfony没有重复一样#&# 39; t具有像zend这样的控制器初始化方法,你可以为所有动作做一次。
所以我的问题是,推荐的symfony2 / twig方法是做什么的。
答案 0 :(得分:1)
我不使用Zend,但在Symfony中,您可以轻松拥有可重复使用的twig片段。您需要做的就是编写一个特定的控制器方法及其相关的twig模板,然后使用render()
方法从任何地方调用它。来自带有一个参数的树枝模板的示例调用:
{{ render(controller("AcmeCategoryBundle:Category:menu", { 'position': 1 })) }}
希望这会对你有所帮助。