Частая ошибка в теме: положить свой модуль портфолио как portfolio. На одном сайте он может столкнуться с чужим решением.
Сценарий простой.
Вы делаете тему для книжного дизайнера. Системное «Портфолио» не подходит: там заголовок, тег, цена, картинка. А нужна работа как издание: клиент, год, задача.
Логично привезти вместе с темой своё решение: справочник, поля и модуль.
Ошибка начинается в коде:
portfolio
Так делать нельзя. Код решения должен начинаться с кода темы и дефиса:
moya-tema-portfolio
Причина не в стиле именования. Если две темы привезут похожие решения с одинаковым кодом, они столкнутся на одном сайте. Вторая перепишет справочник первой.
Правильный порядок такой:
1. Дайте решению код с префиксом темы: moya-tema-portfolio.
2. В theme.json укажите его в bundled_packages списком, даже если решение одно:
["moya-tema-portfolio"]
3. В packages/moya-tema-portfolio/manifest.json укажите тот же code. Расхождение между bundled_packages и manifest.json даст отказ на установке.
4. Не кладите в packages/ PHP-файлы. Внутри решения темы может быть только manifest.json.
5. Укажите core_version со знаком, например >=1.0.0.
Ещё один момент: вид укладывается после установки решений темы. Это важно, потому что вид ищет модуль по имени. Если модуля ещё нет, вид не ляжет, и тема встанет с пустым блоком.
Чужое при этом не трогается. Если на сайте уже есть системное portfolio с записями, тема поставит своё решение旁,
#Wacis #CMS #РазработкаСайтов #Вебмастер
Views: 3