0

嗨,我刚刚在 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 时,它不是我的布局。请帮助我知道我的错误。

4

2 回答 2

0

检查您当前的主题,也许它不是default/default。如果不同,只需将布局和模板放在此主题下即可。或者将其放入基本/默认主题中以兼容所有主题。

确保模块在app/etc/modules/Shareino_Sync.xml.

最后,也许您的模块已禁用输出。转到System-> Configuration-> Advanced-> Advanced->Disable Module Output找到您的模块并确保它已启用。

于 2016-06-14T12:23:41.847 回答
0

您应该始终将模块布局文件和模板文件放在 base/default 下,原因是 Magento 的后备主题机制首先在 your_package/your_theme 中查找这些文件,然后在 your_package/default 下查找这些文件,然后在 base/default 下查找。因此,如果您将这些文件放在默认/默认下并且您的包不是默认的,则将永远找不到这些文件

于 2016-06-15T04:58:09.773 回答