Для создания вашего первого «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/