Розробка під Magento 2

  1. Меню адмін-панелі Magento 2

    Для управління меню адмін-панелі Magento 2 (додавання нових пунктів) служить файл etc/adminhtml/menu.xml.

    Дізнатись більше »
  2. Список ідентифікаторів елементів меню в адмін-панелі Magento 2

    Назва меню [ідентифікатор]

    Dashboard [Magento_Backend::dashboard]
    Sales [Magento_Sales::sales] Operations [Magento_Sales::sales_operation] Orders [Magento_Sales::sales_order] Invoices [Magento_Sales::sales_invoice] Shipments [Magento_Sales::sales_shipment] Credit Memos [Magento_Sales::sales_creditmemo] Billing Agreements [Magento_Paypal::paypal_billing_agreement] Transactions [Magento_Sales::sales_transactions]
    Дізнатись більше »
  3. Значення по замовчуванні для сторінки налаштувань Magento 2

    У попередній статті ми описали, як створити власну секцію на сторінці конфігурації Magento 2 (Stores > Configuration).

    Для того, щоб задати значення за замовчуванням полям налаштувань, необхідно у папці модуля створити файл

    etc/config.xml

    помістити у нього код:

    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
        <default>
            <section_id>
                <group_id>
                    <field_id>default_value</field_id>
                </group_id>
            </section_id>
        </default>
    </config>

    Дізнатись більше »
  4. Створення конфігураційної секції (system.xml) у Magento 2

    Сторінку налаштування Magento 2 можна знайти в адмін-панелі Magento 2 > Stores > Configuration.

    Усі вкладки та форми цієї сторінки налаштовуються за допомогою файлу

    etc/adminhtml/system.xml

    Дізнатись більше »
  5. Створення таблиць в базі даних Magento 2

    Для додавання нової таблиці до бази даних Magento 2 необхідно створити файл у папці модуля:

    app/code/<VendorName>/<ModuleName>/Setup/InstallSchema.php

    помістіть у нього код:

    <?php
    namespace VendorName\ModuleName\Setup;
    use Magento\Framework\Setup\InstallSchemaInterface;
    use Magento\Framework\Setup\ModuleContextInterface;
    use Magento\Framework\Setup\SchemaSetupInterface;
    use Magento\Framework\DB\Adapter\AdapterInterface;
    class InstallSchema implements InstallSchemaInterface
    {
        public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
        {
            $installer = $setup;
            $installer->startSetup();
            //new table script will be there
            $installer->endSetup();
        }
    }

    Дізнатись більше »
  6. Режими роботи Magento 2

    Magento 2 може працювати у трьох режимах: default, developer та production.

    Після встановлення Magento 2 перебуває у default-режимі (default mod). Він призначений для користувачів, яким невідомо про можливість зміни режиму роботи Magento 2, і займає проміжне місце між developer та production станом. Цей режим не оптимальний для розробки та виробничого середовища (production environment). У ньому Magento 2 кешує статичні файли, не виводить помилки у бувер обміну (на екран), але вони записуються у файл логу (magento2_folder/var/log). 

    Дізнатись більше »
  7. Розробка модуля для Magento 2 (Частина 3)

    Створення першого блоку (Block.php + template.phtml + layout.xml)

    У попередній статті ми показали як вивести текст "Hello World" на власній сторінці. Тепер виведіть його у новому блоці.

     

    1. Додайте новий PHP class блоку.

    Створіть файл:

    app/code/<VendorName>/<ModuleName>/Block/SomeName.php

    помістіть у нього код:

    <?php
    namespace VendorName\ModuleName\Block;
    class SomeName extends \Magento\Framework\View\Element\Template
    {
        public function getWelcomeText()
        {
            return 'Hello World';
        }
    }

    SomeName - довільна назва у форматі CamelCase (верблюжий регістр).
    \Magento\Framework\View\Element\Template -  клас, від якого  унаслідуєте власний блок, що взаємодіє з темплейтом.
    getWelcomeText - створений нами публічний метод що повертатиме текст "Hello World". Ви самі можете придумати його назву.

    Дізнатись більше »
  8. Розробка модуля для Magento 2 (Частина 2)

    Magento 2 "Hello World". Перший контролер

    Для того, щоб вивести "Hello World" на власній сторінці у Magento 2 виконайте наступні кроки.

     

    1. Зареєструйте маршрутизатор (router) для вітрини (storefront).

    Створіть файл:

    app/code/<VendorName>/<ModuleName>/etc/frontend/routes.xml

    помістіть у нього код:

    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
    <router id="standard">
            <route id="VendorName_ModuleName" frontName="path">
                <module name="VendorName_ModuleName" />
            </route>
        </router>
    </config>

    У якості id маршрутизатора можна використовувати назву розробника (VendorName), з’єднану з назвою модуля (ModuleName).
    frontName використовується в URL для доступу до ваших контролерів.
    Обидві назви повинні бути унікальними.

     

    Дізнатись більше »
  9. Розробка модуля для Magento 2 (Частина 1)

    Як створити базовий Magento 2 модуль?

    Для створення мінімального модуля Magento 2 необхідно лише два файли: module.xml та registration.php.

    1. Спочатку створіть папку модуля:

    app/code/<VendorName>/<ModuleName>/

    та папку, у якій міститимуться конфігураційні файли модуля:

    app/code/<VendorName>/<ModuleName>/etc/

    Якщо папка app/code відсутня у вашій Magento 2 інсталяції - будь ласка створіть її.

    Дізнатись більше »
  10. Файлова структура модулів у Magento 2

    Модулі у файловій структурі Magento 2

    Файли модулів у Magento 2 розміщені у 2-х директоріях.

    1. app/code/<VendorName>/<ModuleName>/
    2. vendor/<vendor-name>/<module-name>/

    Vendor Name -  назва компанії/особи, що розробляє модуль. У перекладі з англійської "vendor"- постачальник.. У деяких випадках назва вендора може співпадати з назвою компанії замовника. Тому перед початком розробки нового модуля її варто узгодити. У прикладах ми послуговуємося своєю назвою - Magefan..

    Файли модулів, розроблені на замовлення чи модулі від інших компаній, встановлені за допомогою FTP, розміщені у папці app/code.

    У папці vendor розміщені модулі ядра Magento 2, а також модулі, які встановлені за допомогою Web Setup Wizard чи Composer. Модулі ядра Magento ви знайдете у папці vendor/magento.

    Цікаво знати:
    У репозиторії Magento 2 (dev вітка) на GitHub (https://github.com/magento/magento2) усі модулі ядра знаходяться  у папці app/code/Magento, а усі PHP бібліотеки у lib/internal/Magento. Ця структура використовувалася під час розробки Magento 2, задовго до офіційного релізу та існування папки vendor. Для зручності ця структура і досі застосовується на GitHub.

    Дізнатись більше »
Posts loader