我对Magento很新,我开始学习为前端开发自定义模块。我跟随了几位导游,出于某种原因,他们都没有工作。似乎loadLayout和renderLayout导致问题。我不确定这是因为我的文件位置错误,或问题是什么。我已经尝试加载页面magento.x / helloworld magento.x / helloworld / index magento.x / index.php / helloworld。我得到了默认网站的破解版本。如果我用回声替换lLayout和rLayout它可以正常工作。这就是我所拥有的:
应用程序/代码/本地/ Wrapids /的Helloworld的/ etc / config.xml中
<config>
<modules>
<Wrapids_Helloworld>
<version>0.1.0</version>
</Wrapids_Helloworld>
</modules>
<frontend>
<routers>
<helloworld>
<use>standard</use>
<args>
<module>Wrapids_Helloworld</module>
<frontName>helloworld</frontName>
</args>
</helloworld>
</routers>
<layout>
<updates>
<helloworld>
<file>helloworld.xml</file>
</helloworld>
</updates>
</layout>
</frontend>
</config>
应用程序/代码/本地/ Wrapids /的Helloworld /控制器/ IndexController.php
<?php
class Wrapids_Helloworld_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
?>
/app/design/frontend/default/default/template/helloworld/page.phtml
text
应用程序/设计/前端/默认/默认/布局/ helloworld.xml
<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<default>
<reference name="content">
<block type="helloworld/helloworld" name="hello" template="helloworld/page.phtml">
</reference>
</default>
</layout>
应用程序/代码/本地/ Wrapids /的Helloworld /砌块/ Helloworld.php
<?php
class Wrapids_Helloworld_Block_Helloworld extends Mage_Core_Block_Template
{
}
?>
答案 0 :(得分:2)
我不太了解你的目标,但你可以尝试一下:
应用程序/设计/前端/默认/默认/布局/ helloworld.xml
<layout version="0.1.0">
<default>
<reference name="root">
<action method="setTemplate"><template>helloworld/page.phtml</template></action>
</reference>
</default>
</layout>
答案 1 :(得分:1)
将模板和布局文件移至[your_package] / default或[your_package] / [your_theme]
答案 2 :(得分:0)
您是否使用以下代码将Wrapids_Helloworld.xml文件添加到app / etc / modules?必须存在才能加载模块
<?xml version="1.0"?>
<config>
<modules>
<Wrapids_Helloworld>
<active>true</active>
<codePool>local</codePool>
</Wrapids_Helloworld>
</modules>
</config>