我正在尝试在 magento 中创建一个新的自定义模块,但未加载布局。它始终加载在 page.xml 文件中定义为默认值的三列布局。我认为它没有考虑为我的模块操作设置的布局,即使它在 config.xml 文件中这样提到 -
<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>
我的 Controller 是这样定义的:-
class mynamespace_Test_IndexController extends Mage_Core_Controller_Front_Action
{
function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
求助!我错过了什么。 谢谢
最佳答案
是的,我让它工作了。在指向其他模块的布局文件后,我了解到布局文件不存在问题。问题在于在为模块定义路由器时提到命名空间:
我更新了这段代码:-
<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>
而且效果很好。
谢谢。
关于xml - magento 中的新模块不更新布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132883/