Натяжка вёрстки любого сайта на 1С Битрикс.

20 февраля, 2022

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

Подготавливаем путь для файлов шаблона, где будут лежать все файлы верстки, компонентов, языковые файлы, header.php и footer.php и остальные нужные проекту файлы Путь будет такой /local/templates/main/ Папку с шаблоном назовем «main» Работать будем с папкой local, а bitrix трогать вообще не будем. Разделим верстку страницы в битрикс на три части.

 

Первую положим в header.php

Вторую положим в index.php

Третью положим в footer.php

Файлы header.php и footer.php будут подключаться на каждой странице сайта, а index.php будет у каждой странице свой.

 

header.php

В файле /local/templates/main/header.php понадобятся следующие записи

 

if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die(); Данная строчка указывается в начале файла, для секюртости. Чтобы не могли открыть данный файл на прямую из браузера, без подключения ядра битрикса

IncludeTemplateLangFile(__FILE__);Подключаются языковые файлы для шаблона

$APPLICATION->ShowTitle();Отображение заголовка страницы из $APPLICATION->SetTitle(«title»)

$APPLICATION->ShowHead();Выводит необходимый функционал в head

$APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH.»/css/index.css»);Подключается к шаблону файлы стилей, например для объединения

$APPLICATION->ShowPanel();Подключает панель битрикса

SITE_TEMPLATE_PATH;Содержит путь до шаблона, без последнего слеша, в частности /local/templates/main

$APPLICATION->ShowTitle(false);Отображение заголовка страницы из $APPLICATION->SetPageProperty(«title»)

$APPLICATION->GetCurPage(false) === ‘/’;Необходим, если главная страница отличается от внутренней по верстке

footer.php

В файле /local/templates/main/footer.php понадобятся следующие записи

 

if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die();Рассмотрено выше

IncludeTemplateLangFile(__FILE__);Рассмотрено выше

$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH.»/js/index.js»);Подключается к шаблону файлы скриптов, например для объединения

SITE_TEMPLATE_PATH;Рассмотрено выше

$APPLICATION->GetCurPage(false) === ‘/’;Рассмотрено выше

description.php

В файле /local/templates/main/description.php понадобятся следующие записи

 

if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die(); //Рассмотрено выше

IncludeTemplateLangFile(__FILE__); //Рассмотрено выше

$arTemplate = Array(«NAME»=>GetMessage(‘T_DEFAULT_DESC_NAME’), «DESCRIPTION»=>GetMessage(‘T_DEFAULT_DESC_DESC’)); //Записываем имя шаблона и описание. T_DEFAULT_DESC_NAME и T_DEFAULT_DESC_DESC их значения лежат в языковых фалах в виде $MESS [‘T_DEFAULT_DESC_NAME’] = «Главный шаблон»;.

index.php

В файле /index.php понадобятся следующие записи

 

require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/header.php»); //Подключение шапки

require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/footer.php»); //Подключение подвала

.section.php

В файле /.section.php понадобятся следующие записи

 

$sSectionName = «Webpack app»; //Имя раздела в админ панели

$arDirProperties = array(«title» => «Webpack app», «description» => «», «keywords» => «», «robots» => «»); //Свойства раздела,используются как $APPLICATION->SetPageProperty(«title»)

Другие файлы и папки

В папке шаблона /local/templates/main/ также размещаются другие необходимые для работы файлы и папки

 

components папка с компонентами -> bitrix пространство имен -> menu название компонента -> top имя шаблона -> template.php и др файлы компонента

css -> index.css и другие файлы со стилями

fonts -> файлы со шрифтами

img -> файлы с изображениями

include -> файлы подключаемые с помощью компонента $APPLICATION->IncludeComponent(«bitrix:main.include», «», Array(), false);

js -> index.js и другие файлы со скриптами

lang -> en/ru -> description.php и другие файлы соименные файлы, где необходимо используется конструкция вида GetMessage(‘T_DEFAULT_DESC_NAME’)

Подключение необходимых компонентов и другого функционала для окончанительной интеграции верстки на битрикс

На этом проекте были использованы следующие компоненты и функционал