Для создания вашего первого «Hello World» модуля для Magento вам необходимо сделать следующие шаги.
- Создайте следующую файловую структуру для вашего модуля:
- app/code/local/{ModuleNamespace},
- app/code/local/{ModuleNamespace}/{ModuleName}
- app/code/local/{ModuleNamespace}/{ModuleName}/etc
- app/code/local/{ModuleNamespace}/{ModuleName}/controllers
- Настройте ваш модуль: создайте файл кофигурации config.xml в директории app/code/local/{ModuleNamespace}/{ModuleName}/etc/
- Создайте файл контроллера IndexController.php в директории controllers
- Активируйте ваш модуль: создайте файл конфигурации {ModuleNamespace}_{ModuleName}.xml в папке app/etc/modules/
- Очистите кэш Magento
- Откройте следующий адрес http://domain.com/yourUrl
Сейчас мы распишем все эти шаги с подробностями:
1) Первым шагом будет создание файловой структуры нового модуля:
- app/code/local/Wdevelop,
- app/code/local/Wdevelop/HelloWorld
- app/code/local/Wdevelop/HelloWorld/etc
- app/code/local/Wdevelop/HelloWorld/controllers
2) Следующим шагом будет создание файла конфигурации config.xml в папке app/code/local/Wdevelop/HelloWorld/etc
<?xml version="1.0"?>
<config>
<modules>
<Wdevelop_HelloWorld> <!-- {ModuleNamespace}_{ModuleName} -->
<version>0.1.0</version><!-- Module version -->
</Wdevelop_HelloWorld>
</modules>
<frontend>
<routers>
<helloworld> <!-- {modulename} -->
<use>standard</use> <!-- [standard|admin], мы будем использовать standard т.к. это модуль для фронтенда -->
<args>
<module>Wdevelop_HelloWorld</module> <!-- {ModuleNamespace}_{ModuleName} -->
<frontName>helloworldurl</frontName> <!-- Это URL модуля, т.е. по адресу magento.local/helloworldurl будет доступен новый модуль. -->
</args>
</helloworld>
</routers>
</frontend>
</config>
3) Потом, мы создадим файл контроллера. Т.е. метод indexAction() будет вызван по следующим url:
- yoursite.com/helloworldurl
- yoursite.com/helloworldurl/index
- yoursite.com/helloworldurl/index/index
<?php
/*
class {ModuleNamespace}_{ModuleName}_{Controllername}Controller
extends Mage_Core_Controller_Front_Action
*/
class Wdevelop_HelloWorld_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
echo "Hello World";
}
}
4) Последним шагом будет создание Wdevelop_HelloWorld.xml в папке app/etc/modules/. Это необходимо для информирования магенто о существовании нашего модуля
<?xml version="1.0"?>
<config>
<modules>
<Wdevelop_HelloWorld> <!-- Company_ModuleName -->
<active>true</active> <!-- Whether module is active -->
<codePool>local</codePool> <!-- code pool location: app/code/local -->
</Wdevelop_HelloWorld>
</modules>
</config>
5) Очистите кэш Magento
Admin Panel > System > Cache Management > Flush Magento Cache
6) Убедитесь, что HelloWorld страница открывается
Видео урок:
Перевод статьи: http://wdevelop.com/blog/how-to-build-hello-world-module-for-magento/