创建自定义布局模块

时间:2016-06-11 08:16:16

标签: magento magento-1.9 magento-layout-xml

您好我刚刚在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";
    }
}

我认为我做得很好,但是当我在浏览器中加载动作网址时,它并不是我的布局。请帮我弄清楚我的错。

2 个答案:

答案 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下。因此,如果您将这些文件置于默认/默认值下并且您的包不是默认值,则永远不会找到这些文件

相关问题