2012-10-29 26 views
1

我目前正在將我的ZF1應用程序映射到ZF2,並想知道ZF2中是否有類似於ZF1中的$this->view->getScriptPath()的功能?我已經花了半天時間,但沒有找到一個好的解決方案。至少獲得模塊的模塊模板文件夾的基本路徑也可以。類似的功能,像ZF2 ZF1中的getScriptPath

回答

1

根據後續問題,您真正需要的是給定模板文件的路徑。假設您使用默認的PhpRenderer,這實際上相對容易:您獲取解析器並解析路徑。

如果你已經是一個視圖腳本中,下面應該工作:

$path = $this->resolver($templateName); 

如果你在其他地方,你需要訪問要麼PhpRenderer或視圖解析器。如果你有機會到服務管理器,就可以拉ViewResolver的服務,並調用決心():

$resolver = $services->get('ViewResolver'); 
$path  = $resolver->resolve($templateName); 

這是優於知道哪裏是模塊的生活,因爲開發人員可能選擇覆蓋範圍內的模板應用程序;解算器會知道甚至是新位置在哪裏。

+0

我想這隻適用於我以前在配置中設置路徑。 –

+0

我正在尋找檢索模板文件夾的路徑,其中模板存儲在這個特定的控制器中,而不是模板文件。這就是'getScriptPath'在ZF1中所做的。 –

+0

Matthias - ZF2的運作方式不同。解決方案在這個時候處理這​​個問題,ZF2中的假設是模板可以駐留在任何地方 - 考慮到一個應用程序由許多模塊組成,並且有些可能正在壓倒其他模塊,一個給定模塊的規範腳本路徑的想法沒有意義。因此,您只能解析單個模板的路徑。 – weierophinney