Как собирается страница Битрикса и где её менять
Чтение и практика ~8 мин
Заказчик просит: «Добавь дату под заголовком новости». Вы открываете папку сайта,
а там несколько template.php, header.php и каталогов templates. Как понять,
куда идти, чтобы не переделать весь сайт?
Сначала разложим задачу на части. В примере у нас сайт студии: наверху логотип и меню, в центре новости, внизу контакты. Все названия и пути ниже придуманы для объяснения. Это схема устройства страницы, которую ещё предстоит проверить на своей установке.
Четыре места, которые легко перепутать
| Что | За что отвечает в нашем примере | Когда туда идти |
|---|---|---|
| Данные | Заголовок, текст, дата и картинка новости | Исправить опечатку в одной записи |
| Компонент | Получить нужные новости по заданным условиям | Изменить выборку, фильтр или количество |
| Шаблон компонента | Сделать из полученных записей карточки | Добавить дату под заголовком каждой карточки |
| Шаблон сайта | Общая обёртка страницы: шапка, подвал, стили | Поменять общую шапку сайта |
Содержание и оформление лучше проверять по отдельности. Если дата не заполнена в самой новости, правка карточки не создаст её из ничего. Если дата уже есть в HTML, но её не видно, сначала проверьте стили в инструментах разработчика браузера.
Где искать шаблон карточек
На странице найдите вызов компонента. В учебном примере он начинается так:
$APPLICATION->IncludeComponent(
"bitrix:news.list",
"cards",
// Дальше идут параметры компонента.
);
Здесь bitrix:news.list — компонент, cards — имя его шаблона. Это сокращённая
иллюстрация аргументов, а не готовая вставка для сайта. Не заменяйте ею существующий вызов.
Один из возможных путей для локальной копии оформления:
/local/templates/studio/components/bitrix/news.list/cards/template.php
В нём studio — шаблон сайта, а cards — шаблон компонента. Само наличие такого
файла ещё не доказывает, что страница использует именно его: могут отличаться
условия выбора шаблона сайта, имя в вызове и расположение более приоритетной копии.
Сопоставьте все три признака, прежде чем редактировать.
Системные компоненты в /bitrix/components/bitrix/ обновляются вместе с продуктом.
Для своего оформления используйте локальную копию шаблона. Правка ядра ради даты
создаёт лишнюю зависимость от обновлений. Подробности выбора и размещения есть
в официальной документации о компонентах.
Как поставить задачу перед правкой
Запишите результат так, чтобы его мог проверить другой человек:
В списке новостей гость видит дату под каждым заголовком. Карточки и плашки «Новое» сохраняют прежний вид. Кеширование остаётся включённым. Главная страница и содержимое новостей не меняются.
Сохраните исходное состояние и меняйте одно место за раз. После правки откройте страницу как гость и сравните её с этими условиями. Администратор и посетитель могут получать разные результаты — одной проверки в своей сессии недостаточно.
Проверить себя: где менять телефон?
Если это телефон в тексте одной новости, начните с данных этой записи. Если общий телефон в подвале всех страниц — найдите, откуда подвал его получает: это может быть файл шаблона, включаемая область или настройка. Сначала источник значения, потом правка. По одному внешнему виду страницы точный файл определить нельзя.
Дальше разберём ситуацию, когда правка не появляется. О шаблоне сайта отдельно рассказывает раздел основ CMS. Атрибуция документации: уведомление и лицензия MIT.
Прочитали и разобрались? Отметьте урок — прогресс сохранится в этом браузере.