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