Руководство по созданию модуля в Magento 2

Опубликовано: 2015-11-20

Вы ищете способ создания модуля в Magento 2? Сегодня мы расскажем вам, как создать модуль в Magento 2. Мы надеемся, что они вам понравятся и вы легко сможете ими пользоваться!

Создать гибкий модуль очень сложно, но у нас есть простое руководство по созданию простого модуля в Magento 2. Надеюсь, что это руководство поможет вам на первом этапе. Перед созданием модуля необходимо понять различия в структуре каталогов между двумя версиями Magento. В структуре каталогов Magento 2 пулы кода удаляются из файловой структуры кода. Теперь все модули сгруппированы по производителям. Следовательно, мы можем создавать модули прямо внутри каталога app/code.

Последнее обновление: мы только что выпустили версию 2.0 многоцелевой темы Claue Magento 2 с множеством улучшений производительности и эксклюзивных функций. Проверьте эту тему сейчас: Claue Magento Theme 2. 0

claue2_edited (1)

Живая демонстрация

Claue — Clean, Minimal Magento 2&1 Theme — отличный шаблон для современного и чистого магазина электронной коммерции с более чем 40 макетами домашней страницы и множеством вариантов для магазина, блога, портфолио, макетов локатора магазинов и других полезных страниц. Claue версии 2.0 поставляется с множеством эксклюзивных функций, включая:

  • На основе темы Luma.
  • Соответствует всем стандартам темы Magento
  • Значительное улучшение производительности
  • Совместим с большинством сторонних расширений.
  • Полностью совместим с Magento 2.4.x

Эта вторая расширенная версия полностью отличается от предыдущей. Таким образом, если вы используете Claue версии 1 и хотите обновиться до Claue версии 2, вы можете только перестроить новый веб-сайт, а не обновлять старую версию. Теперь вернемся к основной теме.

Различия между Magento1.0 и Magento2.0

Существуют некоторые основные различия между Magento 1.0 и Magento 2.0, поэтому вы можете легко визуализировать структуру папок в Magento 2.0. Таким образом, сделать простой модуль в Magento 2.0 очень просто.

Руководство по созданию модуля в Magento 2

Создайте модуль в Magento2

Шаг 1: Создайте файлы конфигурации.

– Создайте файл: app/code/Tutorial/Example/etc/module.xml (Цель: этот файл будет объявлять ваш модуль) и вставьте в него следующий код:

  1. <? версия xml = «1.0» ?>
  2. <config xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "..
  3. /../../../../lib/internal/Magento/Framework/Module/etc/module.xsd» >
  4. < имя модуля = «Tutorial_Example» setup_version = «1.0.0» >
  5. </модуль>
  6. </config>

– Создать файл: приложение/код/учебник/пример/и т. д./интерфейс/routes.xml (Цель: Маршрутизатор вашего модуля для интерфейса будет объявлен здесь):

  1. <? версия xml = «1.0» ?>
  2. <config xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "..
  3. /../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd» >
  4. < идентификатор маршрутизатора = «стандартный» >
  5. < идентификатор маршрута = «пример» frontName = «пример» >
  6. < имя модуля = «Tutorial_Example» />
  7. </маршрут>
  8. </маршрутизатор>
  9. </config>

Шаг 2: Создайте файлы контроллера, макета и шаблона.

После создания файлов конфигурации мы начнем с файлов контроллера, макета и шаблона.

– Создайте файл контроллера: приложение/код/учебник/пример/контроллер/индекс/Index.php и поместите этот код:

  1. <? php
  2. Учебное пособие по пространству имен \Example\Controller\Index ;
  3. используйте Magento \Framework\App\Action\Context ;
  4. используйте Magento \Framework\View\Result\PageFactory ;
  5. Индекс класса расширяет \Magento\Framework\App\Action\Action
  6. {
  7. /**
  8. * @param Контекст $контекст
  9. * @param PageFactory $resultPageFactory
  10. */
  11. публичная функция __construct (
  12. контекст $контекст ,
  13. $ resultPageFactory
  14. )
  15. {
  16. родитель :: __construct ( $context );
  17. $this -> resultPageFactory = $resultPageFactory ;
  18. }
  19. публичная функция выполнить ()
  20. {
  21. $resultPageFactory = $this -> resultPageFactory -> создать ();
  22. // Добавляем заголовок страницы
  23. $resultPageFactory -> getConfig ()-> getTitle ()-> set ( __ ( 'Пример модуля' ));
  24. // Добавляем хлебные крошки
  25. /** @var\Magento\Theme\Block\Html\Breadcrumbs */
  26. $breadcrumbs = $resultPageFactory -> getLayout ()-> getBlock ( 'breadcrumbs' );
  27. $breadcrumbs -> addCrumb ( 'дом' ,
  28. [
  29. 'метка' => __ ( "Главная" ),
  30. 'название' => __ ( "Главная" ),
  31. 'ссылка' => $this -> _url -> getUrl ( " )
  32. ]
  33. );
  34. $breadcrumbs -> addCrumb ( 'tutorial_example' ,
  35. [
  36. 'метка' => __ ( 'Пример' ),
  37. 'название' => __ ( 'Пример' )
  38. ]
  39. );
  40. вернуть $resultPageFactory ;
  41. }
  42. }

– Создайте файл макета: приложение/код/учебник/пример/представление/интерфейс/макет/example_index_index.xml

  1. <? Версия xml = кодировка «1.0» = «UTF-8» ?>
  2. <page xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" layout = "3columns"
  3. xsi:noNamespaceSchemaLocation = "../../../../../../../lib/internal/Magento/Framework/View/Layout/
  4. etc/page_configuration.xsd» >
  5. <тело>
  6. <referenceContainer name = «content» >
  7. < класс блока = «Magento\Framework\View\Element\Template» name = «tutorial_example_block»
  8. template = "Tutorial_Example::index.phtml" />
  9. </referenceContainer>
  10. </тело>
  11. </страница>

– Создайте файл шаблона: приложение/код/учебник/пример/представление/интерфейс/шаблоны/index.phtml

<h1> <? php echo __ ( 'Это пример модуля!' ) ?> </h1>

Шаг 3: Активируйте модуль в конфигурационном файле Magento 2.

Мы активируем этот модуль, открыв приложение/etc/ config.php файл, затем добавьте в него эту строку:

Затем откройте Команду в Windows (или Терминал в Linux и MAC OS). Перейдите в корневую папку Magento и запустите эту командную строку, чтобы установить модуль:

установка bin\magento:обновление

Наконец, очистите кеш Magento, затем получите доступ по URL-адресу. http://localhost/magento2/example/index/index/

Посетите блог Magesolution, чтобы не пропустить обновления или руководства по Magento 2.0.