Навіщо використовувати тему, коли у вас є модулі?


9

Всередині мого спеціального модуля я додав файл

Vendor/Theme/view/layout/default.xml

який я використовую, щоб перекрити багато глобальних шаблонів сайту за допомогою шаблонів / блоків / макетів із спеціального модуля. Я також додаю свій власний глобальний стиль, який існує в view/webкаталозі цього модуля.

Чи слід використовувати для цього тему? Чи є хороший аргумент для одного шаблону дизайну над іншим? Напр. використовуючи app/designбільш app/code?

Відповіді:


13

Ви можете робити все що завгодно, але якщо це правильно зробити, це питання тут.

Модулі

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

Модулі можна легко вмикати та вимикати, що спричинить появу або зникнення певної функціональності, яку вони додають або змінюють. Це не повинно викликати зміни всього сайту.

Теми

Теми змінюють макет, шаблони та стиль глобального веб-магазину і повинні додавати або видаляти ніякі функціональні можливості. Хоча упаковані (оплачені) теми можуть включати особливості, це найчастіше робиться в модулях, які супроводжують таку тему. Теми повинні бути взаємозамінними, тому вони можуть бути застосовані до будь-якого веб-магазину Magento 2, але також веб-магазин Magento 2 може легко перемикати теми (або мати їх декілька, наприклад, у кількох магазинах).


Тож, якщо ви запитаєте, де "перекрити багато глобальних шаблонів сайту за допомогою шаблонів / блоків / макетів" , відповідь буде в темі .

Знову ж таки, ви можете робити все, що завгодно, але якщо хтось інший би приєднався або взяв на себе розробку, він / вона очікує, що зміни глобальної теми сайту будуть в темі, а не в модулі. Якщо все робити не так, як очікувалося, це уповільнює розвиток і ускладнює обслуговування.


1
Саме так, я хочу все робити правильно. Вдячний за корисну відповідь, я почну переміщувати деякі з цих змін до теми.
Даніель Томпсон

3

Ця відповідь - це те, що я вважав, що це не може бути стандартом Magento

Коли використовувати тему для верстки та шаблонів та коли використовувати Модуль

Тема

Якщо вам потрібні зміни, ви повинні бути на одному місці, вам потрібно показати, що ваші зміни повинні виглядати по-різному, в іншому магазині чи на веб-сайті, і у вас є кілька тем, то ви можете робити зміни в темі безпосередньо

Модуль

коли ви розробляєте будь-який модуль або розширення для вимоги, і ви думаєте, що ваші зміни повинні бути глобальними, тоді ви розміщуєте макет і шаблон у самому модулі

Що я пропоную завжди робити одну головну копію в модулі, і якщо ви хочете змінити відповідно до вашої вимоги, то скопіюйте в тему і внесіть зміни в шаблони.

Таким чином ви можете вирішити проблеми, як-от якщо тема змінилася, то і файли модулів були там

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.