2013-07-22 43 views
0

在Zend Framework 2中,我試圖在自定義視圖幫助器中獲取當前視圖模板的路徑。ZF2 - 在自定義視圖幫助器中獲取當前視圖模板的路徑

如果我有一個名爲「testThis」的視圖助手,並且我正在渲染位於view/inside/bar/baz.phtml的模板,那麼我希望能夠從「testThis」__invoke方法中獲取此路徑。

這應該總是得到調用視圖 - 例如,如果在這個baz.phtml文件中,我使用部分助手加載另一個名爲boo.phtml的模板,那麼如果我在這個boo.phtml模板中調用了「testThis」我會得到該路徑而不是baz.phtml。

這是可能的,如果是這樣,怎麼做?

編輯:如果我添加一個函數給Zend \ View \ Renderer \ PhpRenderer,它返回私有變量$ __模板,那麼我就會得到我需要的東西,但是不用修改框架就好了 - 有沒有辦法得到它而不添加此功能?

回答

0

答案是否定的。 首先,你已經知道文件名在Zend \ View \ Renderer \ PhpRenderer中是私人的。其次,它可能完全不同,例如ZfcTwig \ View \ Resolver \ TwigResolver,它沒有這樣的屬性。

+0

Roger。這將是很好,如果它會返回null,如果沒有屬性,因爲所有的時候,我想要使用它我有屬性設置(或者如果它是空的,那麼這也適用於我的用法)。我剛剛給我的Zend副本添加了一個getTemplate()方法,所以希望我不會忘記下次更新框架時 – shiznatix

+2

您應該更願意編寫自己的渲染器。 – akond