Сама система очень тугая даже на мощном железе, спасает только встроенный кэш. Проблема в том что в разработке приходится его отключать. И опять начинаются ожидания загрузки страницы по 30 секунд.
Михаил: magento2 это тот же magento1 только с работой над ошибками и более красивой упаковкой. Они сами признаются, что не переписывали с нуля. А значит там внутри 90-е. Это хлам.
Максим Тимофеев: Yii2 быстрее Symfony 3 потому что хранит меньше абстракций. В мадженте абстракций вагон и маленькая тележка, поэтому такая скорость. Сказать что это плохо я не могу. А недостаток оптимизации есть, да.
devstudent: я так понял, вы хорошо знаете систему. Не подскажите как правильно сделать свой каркас (ссылочку на какую-нибудь статью бы)?
Как переопределять темплейты ясно, а вот что делать с layout, page, page_layout, делать это в design/fontend/theme или в code/vendor/module не понятно.
Оф. дока, к сожалению, ясности не вносит devdocs.magento.com/guides/v2.0/frontend-dev-guide...
нет, не знаю хорошо, учусь только. Кое-что подсказать могу. В vendor ничего нельзя менять , переносите все, что требуется изменить файлы xml в свою тему и так уже творите. Сделала себе несколько заметок по процессу работы, делюсь: название папки для создания для любого модуля с своей теме можно ( если вы не видите его в парент-теме, а он нужен) увидеть в vendor/magento/module-cms/registration.php есть в коде: 'Magento_Cms' , так и будет называться папка в нашей теме. вот так: app/design/frontend/Magento/МояТема/Magento_Cms/layout/cms_index_index.xml - это файл для отображения только homapage например.
Еще: как копировать в сою тему файлы из модулей ВНЕ тем:
если файлы лейаутов и шаблнов для работы в своей папке берем
не из нашей родительской темы vendor/magento/theme-frontend-luma/(модули),
а напрямую из vendor/magento/(модули)
то надо опускать часть пути view/frontend в обеих случаях,
потому как папка нашей темы уже и есть сама по себе "view frontend-a", то есть предназначена для вывода фронтенда
1) из vendor/magento/module-.../view/frontend/layout/blabla.xml лейауты переносим в
app/design/frontend/Magento/Perfect/Magento_.../layout/blabla.xml
2) из vendor/magento/module-.../view/frontend/templates/blabla.phtml лейауты переносим в
app/design/frontend/Magento/Perfect/Magento_.../layout/blabla.phtml
Еси файл берутся для работы в свою тему из vendor/magento/theme-frontend-luma/(модули) то весь путь до файла должен полностью сохраняться
Вот хорошая статья в помощь https://inviqa.com/blog/magento-2-tutorial-how-use...
Удачи ))
С шаблонами все ясно. Конкретно не ясна система наследования слоев (каркаса). Ясно что шаблоны и слои можно расширять в app/design/MyVendor/MyTheme/Module_Xxx/xxx
Почему в системе помимо 2 тем (module-frontend-base, module-frontend-luma) есть модуль-тема: module-theme?
Как выбросить все и начать с чистого листа, без наследований от базовых слоев типа vendor/magento/module-theme/view/base/page_layout/empty.xml?
module-theme и прочие папки - вне тем из /vendor/magento/... это основа тем. С нуля начать так: скопировать к себе файл и переопределить в нем все что нужно. если оставить его пустым, то етс ьвсе удалить, то , вероятно, как раз и наступит тот самый ноль, с которого вы хотите начать. Но а смысл, на то она и cms, что бы не делать с нуля, а подстраивать готовый функционал под себя, ну и дополнять. Извините что долго, была занята, срочняк ((
devstudent: Много воды утекло, сейчас уже сильно больше понимания работы. Ясно как все соединятся и работает (вот тут изобразил схему в вопросе magento.stackexchange.com/questions/139948/how-i-c... ). Даже переопределил default.xml в module-theme, так выгоднее получилось.
Пока что остается загадкой принцип работы. Я допускаю что я чего-то не понимаю в этой жизни. Однако я вижу что каждый модуль может влиять на шаблон и это плохо. Я начал новую верстку, беру блоки и строю каркас. Внезапно на странице всплывает список ссылок. Вот зачем он мне? Если мне нужно, я могу и сам его встроить. А так нужно идти искать блок в который он вставляется, лечить шаблон конструкцией вида и продолжать дальше. Может это и имеет смысл в простых шаблонах, но когда делаешь все сам, то такое только мешает.
Михаил: так и есть. Мешает, растягивает время работы. Пока клиент готов за это платить так и будет, тем кому надо попроще берут готовые шаблоны и меняют цвета переменных )) . Разрабатывать на этой системе не просто