2010-11-09 48 views
3

我正嘗試在magento中創建新的自定義模塊,但佈局未加載。它總是加載三個列布局,它在page.xml文件中被定義爲默認值。我認爲這是不考慮我的模塊操作的佈局設置,即使它在config.xml文件中提到像這個 -magento中的新模塊未更新佈局

<frontend> 
     <routers> 
      <mynamespace_test> 
       <use>standard</use> 
       <args> 
        <module>Mynamespace_Test</module> 
        <frontName>test</frontName> 
       </args> 
      </mynamespace_test> 
     </routers> 
    <layout> 
      <updates> 
       <test><file>test.xml</file></test> 
      </updates> 
     </layout> 
    </frontend> 

和我的test.xml看起來像這樣: -

<?xml version="1.0"?> 
<layout version="0.1.0"> 
    <test_index_index translate="label"> 
     <label>Test module</label> 
     <reference name="root"> 
      <action method="setTemplate"><template>page/2columns-right.phtml</template></action> 
     </reference>  
     <reference name="content"> 
      <block type="test/this" name="test.this" template="test/test.phtml" /> 
     </reference> 
    </test_index_index> 
</layout> 

和我的控制器是這樣定義的: -

class mynamespace_Test_IndexController extends Mage_Core_Controller_Front_Action 
{ 
function indexAction() 
{ 
    $this->loadLayout(); 
     $this->renderLayout(); 
} 

} 

請幫忙!我錯過了什麼。 謝謝

回答

3

是的,我得到了它的工作。指向其他模塊的佈局文件後,我明白這個問題不在佈局文件中。事情是不對的,而定義路由器模塊提的命名空間:

我更新的代碼塊: -

<routers> 
      <mynamespace_test> 
       <use>standard</use> 
       <args> 
        <module>Mynamespace_Test</module> 
        <frontName>test</frontName> 
       </args> 
      </mynamespace_test> 
     </routers> 

<routers> 
      <test> 
       <use>standard</use> 
       <args> 
        <module>Mynamespace_Test</module> 
        <frontName>test</frontName> 
       </args> 
      </test> 
     </routers> 

它工作得很好。

謝謝。

+3

您可以在您的佈局文件中將'test_index_index'更改爲'namespace_test_index_index',而不是在config.xml中將'namespace_test'更改爲'test'。管理頁面已經有類似的效果,它們的URL都以'admin'開始,但是它們的佈局是'adminhtml'。 – clockworkgeek 2010-11-09 14:21:21

+0

謝謝。剛剛過了半個小時,我的頭撞在牆上 – 2013-12-19 15:57:13

2

你在哪裏保存test.xml?它需要在當前活動的主題是:

app/design/frontend/default/activetheme/layout/test.xml 

我也建議您安裝從艾倫風暴的博客的LayoutViewer擴展,使您可以調試,你的XML更新都被插入到佈局。

+0

它被保存在正確的位置和活動的主題。 – 2010-11-09 11:11:42

+0

這很奇怪。 – 2010-11-09 11:25:35

+0

現在我更改了config.xml中的佈局文件。我將它設置爲 customer.xml 和添加的test.xml塊碼customer.xml,它仍然是行不通的。一些東西仍然是錯誤的 – 2010-11-09 11:38:15