2016-06-11 167 views
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_IndexController extends Mage_Core_Controller_Front_Action 
{ 
    public function indexAction(){ 

      $this->loadLayout(); 


      $this->renderLayout(); 

    } 
    public function testAction(){ 
     echo "index Action"; 
    } 
} 

我想我所做的每想好,但是当我在浏览器中加载的操作URL它没有做我的布局。请帮助我了解我的错误。

回答

0

你应该总是把你的模块布局文件和模板文件放在base/default下,原因是因为Magento的回退主题机制首先在your_package/your_theme中查找这些文件,然后在your_package/default下,然后在base/default下查找。因此,如果您将这些文件置于默认/默认状态,并且您的软件包不是默认文件,那么这些文件将永远不会被发现。

0

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

确保模块已在app/etc/modules/Shareino_Sync.xml中注册。

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