嗨,我刚刚在 magento 中创建自定义模块,它的前端不起作用。
配置文件:
<?xml version="1.0"?>
<config>
<modules>
<Shareino_Sync>
<version>0.1.0</version>
</Shareino_Sync>
</modules>
<global>
<helpers>
<sync>
<class>Shareino_Sync_Helper</class>
</sync>
</helpers>
<blocks>
<sync>
<class>Shareino_Sync_Block</class>
</sync>
</blocks>
</global>
<frontend>
<routers>
<sync>
<use>standard</use>
<args>
<module>Shareino_Sync</module>
<frontName>shareinosync</frontName>
</args>
</sync>
</routers>
<layout>
<updates>
<sync>
<file>shareino_front.xml</file>
</sync>
</updates>
</layout>
</frontend>
</config>
布局文件:
# File in : app/design/frontend/default/default/layout/shareino_front.xml
<layout version="0.1.0">
<sync_index_index>
<reference name="content">
<block type="sync/sync" name="sync" template="sync_index.phtml" />
</reference>
</sync_index_index>
</layout>
sync_index.phtml
:
# file in app/design/frontend/default/default/template/sync_index.phtml
<h1>
Test Text
</h1>
我创建了一个名为 Sync.php
的块
class Shareino_Sync_Block_Sync extends Mage_Core_Block_Template
{
public function myfunction()
{
return "Hello tuts+ world";
}
}
最后我的控制器:
class Shareino_Sync_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction(){
$this->loadLayout();
$this->renderLayout();
}
public function testAction(){
echo "index Action";
}
}
我认为我做得很好,但是当我在浏览器中加载动作 url 时,它不是我的布局。 请帮助我知道我的错误。
检查您当前的主题,也许它不是默认/默认。如果不同,只需在此主题下放置布局和模板即可。或者将其放入基本/默认主题中,以便与所有主题兼容。
确保模块已在 app/etc/modules/Shareino_Sync.xml
中注册。
最后,也许您的模块被禁用了输出。转到System
-> Configuration
-> Advanced
-> Advanced
-> Disable Module Output
找到您的模块并确保它已启用。
您应该始终将模块布局文件和模板文件放在基本/默认下,原因是因为Magento的回退主题机制首先在your_package/your_theme中查找这些文件,然后在your_package/默认下然后在基本/默认下。因此,如果您将这些文件置于默认/默认下,并且您的软件包不是默认的,则这些文件将永远不会被找到