您好我刚刚在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";
}
}
我认为我做得很好,但是当我在浏览器中加载动作网址时,它并不是我的布局。请帮我弄清楚我的错。
答案 0 :(得分:0)
检查您当前的主题,可能不是默认/默认。如果不同,只需在此主题下放置布局和模板即可。或者将其放入 base / default 主题以与所有主题兼容。
确保模块已在app/etc/modules/Shareino_Sync.xml
注册。
最后,也许你的模块被禁用输出。转到System
- &gt; Configuration
- &gt; Advanced
- &gt; Advanced
- &gt; Disable Module Output
找到您的模块,并确保它已启用。< / p>
答案 1 :(得分:0)
你应该总是将你的模块布局文件和模板文件放在base / default之下,原因是因为Magento的回退主题机制首先在your_package / your_theme中查找那些文件,然后在your_package / default下,然后在base / default下。因此,如果您将这些文件置于默认/默认值下并且您的包不是默认值,则永远不会找到这些文件