Для своего кода в magento 2 есть модули. Для шаблонов есть темы. При необходимости можно переопределить как phtml и html, так и js и css.
Возможные варианты:
- в своем модуле создать .phtml и использовать его в блоках вместо стандартных шаблонов;
- в своем модуле ничего не создавать, но в теме для своего модуля создать .phtml;
- в теме переопределить дефольный .phtml на свой.
С js нечто похожее:
- в своем модуле создать .js и переопределить базовый;
- в своем модуле создать .js и не переопределять базовый, а использовать вместо;
- в теме создать .js и переопределить базовый;
- в своем модуле ничего не создавать, но в теме создать .js для своего модуля.
Надеюсь, суть ясна: вариантов куча а как сделать правильно не ясно. По крайней мере в некоторых случаях.
К примеру, мне нужно сделать свой Magento_Checkout/js/view/shipping.js. У меня уже есть Vendor_Checkout и есть тема Vendor_Theme.
С модулями тоже все не ясно. В начале думал что для каждого раздела (наподобие magento) нужно создавать свои модули (Checkout и т.д.), но сейчас думаю что может быть модули задумывались как переносимый код для разных проектов и только? А свой код весь в теме? Но все же иногда нужен функционал модулей и он явно проектно-зависимый.
В общем, если вы набили руку в таких делах, то приглашаю поделиться мнением на этот счет. Спасибо!