Проекты. Готовые решения Выбор готового решения из установщика продукта

В этой статье мы с вами рассмотрим все особенности создания шаблона для Битрикса с нуля. Не важно, есть у вас готовая верстка, или вы просто перфекционист, которому только дай что-нибудь написать самому без посредников 🙂

Какие файлы нужны для создания шаблона

Внешний вид вашего сайта (или представление сайта), всегда хранится в какой-то отдельной папке. В 1С-Битрикс путь к шаблону лежит через папку bitrix , в которой есть папка templates и уже в ней список всех наших шаблонов.

Путь к шаблонам: /bitrix/templates/

Создать шаблон можно 3 способами:

  • можно скопировать готовый шаблон и на его основе изменять под себя
  • можно создать через админку пустой шаблон
  • можно создать пустую папку и постепенно заполнять ее файлами и папками
  • Как вы поняли 3-ий вариант самый хардкорный 🙂 . Зайдем в админку, Администрирование > Настройки > Настройки продукта > Сайты > Шаблоны сайтов > Добавить шаблон .
    ссылка относительно сайта: /bitrix/admin/template_admin.php?lang=ru

    ID шаблона это по сути имя папки в которой он будет лежать, я назову development . Остальные поля заполните как удобнее, они сейчас не очень важны. В код шаблона добавьте следующий код:

    #WORK_AREA#

    — пишем эту строку, чтобы файл нельзя было вызвать напрямую из браузера и он не начал выполняться;
    — показываем текущий title для страницы;
    — показываем keywords, description и все скрипты;
    — показываем панель для админов.

    После сохранения шаблона, мой файл description.php, выглядит так:

    Отлично, у нас в корне должны остаться 5 файлов, остальное на данный момент мы не будем использовать:

    • description.php,
    • header.php,
    • footer.php,
    • styles.css,
    • template_styles.css

    Та часть кода, которая находится до #WORK_AREA# в итоге записывается в header.php. Угадайте, какая часть записывается в footer.php 🙂 (та, что после нее). Сама ворк-арея представляет собой динамический контент (не всегда он такой уж и динамический), который находится, к примеру, в папке /contacts/ или /about/ в файле index.php. Сам файл обычно начинается подключением хедера и заканчивается подключением футера:

    Text хир

    Пока что, все выглядит логично.

    1С-Битрикс папки и структура нового шаблона

    В документации есть несколько рекомендаций, которые лично мне не очень нравятся. Во-первых, они любят называть папку с изображениями images вместо сокращенного img . И, я конечно все понимаю, но когда вы пишите стили, вам в любом случае нужно ссылаться на изображения, зачем писать в 2 раза больше? 🙂 . Во-вторых, была такая рекомендация, хранить включаемые области в папке include_areas — почему бы не создать inc ? В-третьих, зачем нам 2 файла со стилями? Если мне захочется вынести все в отдельный файл и подключать потом по необходимости, то эти стили будут хранится либо в шаблоне компонента, либо в папке css шаблона.

    Если подытожить, наша правильная структура шаблона:

    Include_areas images components js

    Если быть немного бунтарем, то:

    Inc img components js

    Вас в принципе никто не ограничивает, это лишь рекомендации.

    И вот мы плавно подошли к первой проблеме — хардкод . Хардкод это когда вы вместо динамических значений, например доменное имя, используете текстовую запись. Большинство начинающих разработчиков не знают про константу SITE_ TEMPLATE_ PATH, которая в качестве значения хранит путь к текущему шаблону — в нашем случае это /bitrix/templates/development (без слеша в конце, обратите внимание). И поэтому, когда вы будете подключать свои скрипты или включаемые области, для папки нужно писать: