Разработка и Конфигурация · 7 мин
Как изменить шаблон в 1С-Битрикс
Как изменить шаблон сайта и компонентов в 1С-Битрикс: копирование шаблона, правка template.php, стилей и component_epilog.php без потери изменений при обновлении.
Шаблон в 1С-Битрикс определяет внешний вид сайта: шапку, подвал, подключаемые стили, скрипты и общую структуру страниц. Изменить шаблон можно двумя способами — подключить другой готовый шаблон в настройках сайта или отредактировать файлы существующего. Второй путь требует аккуратности: прямая правка стандартных шаблонов приведёт к потере изменений при очередном обновлении продукта.
Работа ведётся в двух местах: через административный раздел (Настройки → Сайты, а также «Шаблоны») и через файловую структуру в каталоге /bitrix/templates/ или /local/templates/. Каталог /local/ предпочтительнее, потому что ядро при обновлении его не перезаписывает.
Где хранятся шаблоны и как они устроены
Шаблон сайта — это папка с файлами header.php (шапка), footer.php (подвал), styles.css, template_styles.css, каталогами изображений и языковых файлов. Ядро сначала собирает шапку, затем выводит контент страницы, потом подвал.
Шаблоны компонентов лежат отдельно — внутри папки компонента (/bitrix/components/пространство/компонент/templates/) или в папке шаблона сайта (/local/templates/имя_шаблона/components/...). Копия в шаблоне сайта имеет приоритет и не затрагивается обновлениями.
Как назначить другой шаблон сайту
Откройте в административном разделе: Настройки → Настройки продукта → Сайты → Список сайтов, выберите нужный сайт. На вкладке «Шаблон» укажите шаблон из выпадающего списка и условие применения (по умолчанию — без условия, то есть для всех страниц).
Условия позволяют показывать разные шаблоны для разных разделов: например, упрощённый шаблон для страницы оформления заказа. Для этого добавьте вторую строку с типом условия «Для папки или файла» и укажите путь.
- 1Скопируйте шаблон в /local/templates/ под уникальным именем
- 2Откройте Настройки → Сайты → нужный сайт → вкладка Шаблон
- 3Выберите новый шаблон и сохраните
- 4Сбросьте кеш: Настройки → Производительность → очистка кеша
- 5Проверьте главную и внутренние страницы в браузере
Как правильно скопировать шаблон перед правкой
Никогда не редактируйте шаблоны внутри /bitrix/templates/ — это системные файлы. Скопируйте папку шаблона целиком в /local/templates/новое_имя/ через файловый менеджер в админке (Контент → Структура сайта → Файлы и папки) или по FTP/SSH.
Имя папки — это идентификатор шаблона, он указывается в настройках сайта. После копирования откройте description.php внутри новой папки и измените название шаблона, чтобы отличать его в списке.
Редактирование файлов шаблона
Основные правки делаются в header.php и footer.php: там подключаются стили через $APPLICATION->SetAdditionalCSS(), скрипты через $APPLICATION->AddHeadScript(), выводятся метатеги и включаемые области. Текст, который должен редактироваться контент-менеджером, выносите во включаемые области через $APPLICATION->IncludeFile().
Стили правьте в template_styles.css (стили шаблона) и styles.css (стили, видимые в визуальном редакторе). После изменений сбрасывайте кеш, иначе старые версии файлов будут отдаваться браузеру из объединённых кешированных CSS.
<?$APPLICATION->IncludeFile(SITE_DIR."include/phone.php", Array(), Array("MODE"=>"html"));?>Как изменить шаблон компонента
Если нужно поменять вывод конкретного компонента (каталога, новостей, меню), скопируйте его шаблон в папку шаблона сайта. Проще всего это сделать через режим правки: наведите на компонент на странице и выберите «Копировать шаблон компонента» — система сама создаст нужную структуру папок.
В скопированном шаблоне основной файл — template.php, он получает массив $arResult с данными. Логику подготовки данных выносите в result_modifier.php, а действия после кеширования (например, установку заголовка страницы) — в component_epilog.php.
Проверка результата и типичные ошибки
После правок откройте страницу в режиме инкогнито, проверьте консоль браузера на ошибки JavaScript и убедитесь, что стили загрузились новые (посмотрите путь к CSS в исходном коде страницы — там должен быть ваш шаблон из /local/templates/).
Как проверить результат
Путь содержит /local/templates/ваш_шаблон/
Стили грузятся из старого шаблона или /bitrix/
Нет ошибок 404 у CSS/JS и ошибок скриптов
Файлы не найдены, скрипты падают
Title и description выводятся корректно
Пустой title или дублирующиеся теги
Частые вопросы
Можно ли применять разные шаблоны для разных разделов?
Да. В настройках сайта на вкладке «Шаблон» добавьте несколько строк с условиями: «Для папки или файла», «Для групп пользователей», «По параметру в URL». Условия проверяются сверху вниз, применяется первое подходящее.
Что делать, если после правки шаблона сайт показывает белую страницу?
Это признак фатальной ошибки PHP. Включите вывод ошибок в файле /bitrix/.settings.php (параметр debug) или посмотрите лог ошибок веб-сервера. Чаще всего причина — незакрытая скобка или опечатка в header.php. Верните файл из резервной копии, если быстро найти ошибку не удаётся.
Почему изменения в CSS не видны на сайте?
Битрикс объединяет и кеширует стили. Очистите кеш в настройках производительности и обновите страницу с принудительной перезагрузкой (Ctrl+F5). Также проверьте, что правите файл именно того шаблона, который назначен сайту.
Как изменить только одну страницу, не трогая весь шаблон?
Используйте условие в header.php по URL страницы или создайте отдельный шаблон с условием «Для папки или файла». Для точечных правок контента достаточно включаемых областей и свойств страницы.
Куда копировать шаблон компонента, чтобы он не затёрся?
В папку /local/templates/ваш_шаблон/components/пространство/компонент/имя_шаблона/. Такая копия имеет приоритет над шаблоном из ядра и не перезаписывается обновлениями.
Что важно запомнить
Работайте только с копией шаблона в /local/templates/, назначайте её в настройках сайта, сбрасывайте кеш после правок и проверяйте результат в консоли браузера. Шаблоны компонентов копируйте внутрь шаблона сайта — тогда обновления ядра ваши изменения не затронут.