【问题标题】:ZF2 - Get path of current view template in custom view helperZF2 - 在自定义视图助手中获取当前视图模板的路径
【发布时间】:2013-07-22 18:56:09
【问题描述】:

在 Zend Framework 2 中,我试图在自定义视图助手中获取当前视图模板的路径。

如果我有一个名为“testThis”的视图助手并且我正在渲染位于 view/inside/bar/baz.phtml 的模板,那么我希望能够从“testThis”__invoke 方法中获取此路径。

这应该总是得到调用视图 - 例如,如果在这个 baz.phtml 文件中我使用部分帮助器来加载另一个名为 boo.phtml 的模板,那么如果我在这个 boo.phtml 模板中调用“testThis”我将获得该路径而不是 baz.phtml。

这可能吗?如果可以,该怎么做?

编辑:如果我向 Zend\View\Renderer\PhpRenderer 添加一个返回私有变量 $__template 的函数,那么我得到的正是我需要的,但不必修改框架会很好 - 有没有办法不加这个功能就搞定了?

【问题讨论】:

    标签: php zend-framework2


    【解决方案1】:

    答案是否定的。 首先,您已经弄清楚 Zend\View\Renderer\PhpRenderer 中的文件名是私有的。其次,它很可能是完全不同的东西,例如 ZfcTwig\View\Resolver\TwigResolver,它没有这样的属性。

    【讨论】:

    • 罗杰。如果它在没有属性的情况下只返回 null 那就太好了,因为我一直想使用它时我已经设置了属性(或者如果它为 null,那么这对我的使用也很好)。我刚刚在我的 Zend 副本中添加了一个 getTemplate() 方法,所以希望下次我更新框架时不要忘记它
    • 你应该编写自己的渲染器。
    猜你喜欢
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    相关资源
    最近更新 更多