Связь структуры и API
Смешивать «жёсткий» код и редакторский контент удобно через инфоблок: элемент несёт поля торгового предложения, раздел задаёт фильтры листингов. API вызывают после подключения модуля, а не напряму из голого init.
Идентификация записей
Частый сценарий — понять элемент по параметру роутера или статическому входу /catalog/custom.php. Нормализуйте символический код и активность, чтобы не подтянуть скрытые материалы в публичной части.
Целостность данных
Запрет на удаление оформляют событием «до» выполнения CRUD в инфоблоке: приложение сообщает понятную причину, а журнал сохраняет факт блокировки. Такой подход живёт между релизами ядра лучше, чем прямое правило в базе без логики.
Иерархия разделов
Раздел задаёт связь элемент ↔ дерево каталогов. Имя и положение нужны фильтрам навигации и хлебных крошек; считать «родителей» имеет смысл через готовые выборки, а не множественные точечные обращения в цикле.
Счётчик и содержание
Вместо SELECT COUNT(*) в произвольных таблицах целесообразно собрать условный фильтр инфоблока и использовать единый путь доступа.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии