【问题标题】:In symfony 2 what would be the equivalent of zend's view helpers在 symfony 2 中相当于 zend 的视图助手
【发布时间】:2014-03-15 12:12:01
【问题描述】:

我正在寻找一种方法来获得网站导航菜单,该菜单主要用于布局文件,然后在模板中进行扩展。

在 zend 中,我将创建一个视图助手,它会获取相关项目并呈现链接。我目前将菜单硬编码在由其他人扩展的树枝模板中(如 zend 中的布局)。感觉这不是最好的方法。

当我使用 twig url helper 生成链接时,我实际上是在尝试将代码拆分为单独的内容。

我研究了 twig 函数,但它们似乎主要用于获取数据,而不是渲染可重复使用的 html sn-ps。我也考虑过创建一个服务来获取包含标题、路线等的数据数组,但我认为我必须在模板需要导航菜单的每个操作中使用它,并且感觉像 symfony 那样重复太多了没有像 zend 这样的控制器 init 方法,您可以对所有操作执行一次。

所以我的问题是,推荐 symfony2/twig 的方式来做这种事情。

【问题讨论】:

    标签: php symfony twig


    【解决方案1】:

    我不使用 Zend,但在 Symfony 中,您可以轻松地拥有可重复使用的 twig sn-ps。您需要做的就是编写一个特定的控制器方法及其关联的 twig 模板,然后使用render() 方法从任何地方调用它。来自带有一个参数的树枝模板的示例调用:

    {{ render(controller("AcmeCategoryBundle:Category:menu", { 'position': 1 })) }}
    

    希望对你有所帮助。

    【讨论】:

    • 谢谢,这正是我所需要的。我刚刚向我的页面控制器添加了一个额外的操作来获取链接,然后将它们传递给呈现菜单的视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    相关资源
    最近更新 更多