Під час розробки інтернет-магазину на базі Magento 2 ви можете зіткнутися з проблемою розширення стандартної функціональності Magento 2 або Розширення Magento .

Редагування основних файлів або модулів Magento заборонено, оскільки ці зміни будуть перезаписані під час оновлення .

Отже, як внести зміни до файлу шаблону фронтенду (інтерфейсу), css, js?

УВАГА! Наступні інструкції не можна використовувати для перевизначення файлів макета.

Перевизначте файли view-файлів модулів у папці app/code.

Припустимо, вам потрібно змінити цей файл:

app/code/Magefan/Blog/view/frontend/templates/post/view.phtml

Зробіть його копію в папці теми за таким шляхом:

app/design/frontend/ThemeVendor/themename/Magefan_Blog/templates/post/view.phtml

Внесіть необхідні зміни до щойно створеного файлу теми.

Якщо вашої власної теми немає у вашій інсталяції Magento, створіть нову тему.

Перевизначте файли перегляду модулів у папці vendor.

Припустимо, вам потрібно змінити цей файл:

vendor/magefan/module-blog/view/frontend/web/css/blog-custom.css

Зробіть його копію в папці теми за таким шляхом:

app/design/frontend/ThemeVendor/themename/Magefan_Blog/web/css/blog-custom.css

Примітка: назва папки Basic модуль (наприклад, Magefan_Blog) не завжди формується з назви папки модуля у vendor (наприклад, Magefan/module-blog ). Краще взяти це значення з файлу модуля registration.php .

<?php
/ * registration.php file code of Magento 2 blog module by Magefan * /
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Magefan_Blog',
__DIR__
);

Перевизначити батьківські файли теми.

Припустимо, вам потрібно змінити цей файл:

app/design/frontend/Smartwave/porto/Magento_Catalog/templates/product/list.phtml

Зробіть його копію в папці теми за таким шляхом:

app/design/frontend/ThemeVendor/themename/Magento_Catalog/templates/product/list.phtml

Примітка: У цьому випадку змінюється лише шлях до теми.

Важливо: якщо ваш магазин знаходиться в режим виробництва (чого слід уникати під час розробки Magento), запустіть розгортання після всіх змін у файлах представлення.

Щоб уникнути збоїв веб-сайту під час розгортання, перевірте розширення, яке скорочує час розгортання до НУЛЯ — Модуль Magento 2 Zero Downtime Deployment .