Спрашивают: завёл в манифесте поле типа select, а страницы со справочником стали отдавать ошибку базы. Ответ: не указаны select_by и select_show.
Связь в поле-выборке описывается тремя ключами, а не одним.
select — на какой справочник смотрим. select_by — что храним, столбец цели. select_show — что показываем, тоже столбец цели.
Если оставить только select, поле заведётся. Тип есть, а на что смотреть — не сказано, и поле пустое.
Дальше хуже. Пустое «что хранить» попадает в список столбцов запроса. И каждая страница, где читается этот справочник, отвечает ошибкой базы. Не одна запись, не одна форма — каждая страница.
У нас это ронял живые сайты дважды.
И вот оговорка. Установщик проверяет многое: имя справочника, наличие справочника у модуля, имя модуля, core_version, доступность зависимостей. Отказ на любом шаге откатывает всё сделанное, половины решения не остаётся.
Но неполное описание выборки через эти проверки проходит. Решение встанет целиком, без ошибок при установке. Разваливаться начнёт потом, на чтении.
Поэтому правило простое: увидели "type": "select" — рядом обязаны стоять select, select_by и select_show. Все три.
Для справки, как это выглядит целиком:
{ "name": "category", "type": "select", "select": "category", "select_by": "id", "select_show": "title" }
#wacis #вебразработка #cms
Просмотры: 2