Модуль Создать пользовательский макет

Привет, я только что создал пользовательский модуль в 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-адрес действия в браузере, это не мой макет. Пожалуйста, помогите мне узнать мою ошибку.

2 ответа

Решение

Вы всегда должны помещать файлы макета вашего модуля И файлы шаблонов в base / default, причина в том, что механизм резервной темы Magento сначала ищет эти файлы в your_package/your_theme, затем в your_package/default, а затем в base/default. Таким образом, если вы поместите эти файлы в default / default, а ваш пакет не в default, эти файлы никогда не будут найдены

Проверьте текущую тему, возможно, это не по умолчанию / по умолчанию. Если это не так, просто разместите макет и шаблоны под этой темой. Или поместите его в базовую / стандартную тему для совместимости со всеми темами.

Убедитесь, что модуль зарегистрирован в app/etc/modules/Shareino_Sync.xml,

И последнее, может быть, ваш модуль отключен для вывода. Идет к System->Configuration->Advanced->Advanced->Disable Module Output найдите свой модуль и убедитесь, что он включен.

Другие вопросы по тегам