4

從使用beta3的骨架應用程序開始,您將如何解析稱爲Foo的新模塊的視圖路徑?zf2解析模塊視圖路徑

我已經加入下面二配置,現在兩個模塊動作的渲染Foo的觀點。

'Zend\View\Resolver\TemplatePathStack' => array(
    'parameters' => array(
     'paths' => array(
      'foo' => __DIR__ . '/../view', 
     ), 
    ), 
), 

我希望Application\Controller\IndexController::indexAction()呈現在應用程序的意見,併爲Foo\Controller\IndexController::indexAction()呈現Foo的觀點。

回答

5

注意,這樣有助於形成穩定的框架的方向問題。我一直在玩弄:)

一個想法是使用該模塊作爲視圖腳本決議的一部分。現在,使用的默認值是「/」;我的建議是使用「//」,因爲這有助於防止模塊之間的命名衝突;如果使用模板映射,它也使得更準確地理解您正在覆蓋哪個視圖腳本。

您可以使用此方法的今天,但需要手動設置你從你的控制器返回視圖模型的模板。

+0

不確定我關注,你是什麼意思,用雙正斜槓? – gawpertron 2012-05-01 13:17:10

+1

SO吃了我的內容。我的意思是說:「現在,使用的默認值是'{controller}/{action}';我的建議是使用'{module}/{controller}/{action}'」。這實際上是我們爲穩定框架所做的。 – weierophinney 2012-10-03 03:12:53

2

這並不在ZF2目前的工作,因爲沒有采取命名空間考慮將視圖腳本時的概念。目前正在討論如何最好地解決這個問題。

目前,您必須以不同的方式命名每個控制器。通常,我們建議您在模塊名稱後面命名模塊中的「主」控制器。也就是說,Foo模塊中的主控制器應爲FooController

1

你其實可以做到這一點;它是不是太糟糕了....

羅布·艾倫自己有一個博客帖子,基本上使這項工作...請注意,你必須基本上處理它作爲一個模塊基於裝載機分開許多工作了,這樣我們沒有利用它的控制器:http://pastie.org/3824571