Перед началом
Сначала определите системное имя инфоблока и текущую тему. Action подготавливает данные, а шаблон отвечает за разметку.
Порядок действий
- В теме создайте файлы
components/iblock/{sys_name}_list.phpи{sys_name}_item.php. Для документации промосайта этоdocs_list.phpиdocs_item.php. - Используйте переданные action значения: инфоблок, категорию, записи, поля, параметры отображения и пагинацию. Не выполняйте запросы к БД внутри разметки.
- Экранируйте строки и URL через безопасный formatter. Доверенный редакционный HTML выводите только в предусмотренном месте основного текста.
- Фрагменты подключайте через
Page::includeTemplateFile()и методы Template с относительными путями. Имена шаблонов из запроса требуют явного whitelist. - Зарегистрируйте исходные CSS и JavaScript через Page. Новый JavaScript пишите на Vanilla JS в namespace
daacms. - Проверьте список, статью, пустые данные и мобильную ширину с включённым контролем PHP warnings.
Обратите внимание. Не создавайте отдельный runtime для чтения инфоблоков. Настройки публикации, сортировки и прав должны продолжать работать через штатный компонент.
Проверьте результат
Запись редактируется в админке, отображается новой темой и сохраняет работу метаданных, пагинации и системы ассетов.