Как создать «Hello world» модуль для Magento

Для создания вашего первого «Hello World» модуля для Magento вам необходимо сделать следующие шаги.

  1. Создайте следующую файловую структуру для вашего модуля:
    • app/code/local/{ModuleNamespace},
    • app/code/local/{ModuleNamespace}/{ModuleName}
    • app/code/local/{ModuleNamespace}/{ModuleName}/etc
    • app/code/local/{ModuleNamespace}/{ModuleName}/controllers
  2. Настройте ваш модуль: создайте файл кофигурации config.xml в директории app/code/local/{ModuleNamespace}/{ModuleName}/etc/
  3. Создайте файл контроллера IndexController.php в директории controllers
  4. Активируйте ваш модуль: создайте файл конфигурации {ModuleNamespace}_{ModuleName}.xml в папке app/etc/modules/
  5. Очистите кэш Magento
  6. Откройте следующий адрес 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/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *