Документация лендингов
Общая информация
Лендинги разрешаются на отдельном шаблоне сайта Landings_pages с правилами в виде lp в URL.
Используется инфоблок Одностраничники - MAIN(ID: 64)
Детальная страница лендинга
Точка входа для всех компонентов:
\bitrix\templates\landings_pages\components\bitrix\news\landing_pages\bitrix\news.detail.default\template.php
Настройки
Настройки типов отображения компонентов
Настройки заголовков блоков
Подтягиваются из свойств элемента или используются базовые из Figma вёрстки
Настройки фильтров
Формируется массив, который затем через цикл преобразуется в список GLOBAL переменных
Настройки текстовых блоков
На странице в разных участках выводится 3 текстовых блока
Настройка главной веб формы
Настройка веб формы
Блоки
Главный блок
Первый тип
Важная информация: первый тип включает в себя работу модального окна на кнопку ЗАПРОСИТЬ ПОДРОБНУЮ ИНФОРМАЦИЮ. Логика работы этого модального окна изначально была связана с скриптами самого Битрикса, однако это приводило к слишком большому количеству проблем. Было решено переделать его полностью. Данный блок сильно зависит от присваивания глобальных переменных в главе Настройка главной веб формы. Переменная называется MAIN_WEB_FORM. Файл для кастомизация модального окна:
\bitrix\templates\landings_pages\footer.php
\bitrix\templates\landings_pages\components\bitrix\news\landing_pages\bitrix\news.detail.default\script.js
В случае со скриптом см. класс landingModal.
Второй тип
Код кастомного модального окна:
Логика его работы проста: вызывается либо 1с Битрикс форма, если есть ID и он действителен. Либо вызывается B24 форма. Форма 1с Битрикс приоритетней.
Скрипт:
Дополнительная информация
Блок тизеров довольно прост и лежит по путям:
/bitrix/templates/landings_pages/components/bitrix/news.list/landing_tizers
/bitrix/templates/landings_pages/components/bitrix/news.list/landing_tizers_second
Текстовые блоки
Первый текстовый блок
Второй текстовый блок
Третий текстовый блок
Блок веб формы
Данный блок имеет 2 схожих типа. Работает исключительно с B24 формами.
Блок продукций
Код landing_products
/bitrix/templates/landings_pages/components/bitrix/news.list/landing_products
Важная информация:
Логика работы кнопки заказать связана с jqm базового Битрикса. Кастомизировать данное окно можно по пути:
Важное уточнение - данный компонент выводится не в том же шаблоне, что и лендинги и правки данного файла приведут к изменениям и на основном сайте. Рекомендую в случае надобности поступить так же, как и с модальным окном главного блока.
Блок каталога
Проверка работоспособности каталога
Каталог из-за своей сложности, надобности подключения 2 компонентов и чувствительности к ЧПУ сделан очень кастомизированно.
Проверка на работособность
Блок перед выводом проходит небольшую проверку на наличие хотя бы 1 активно элемента по выборке разделов
Левое меню каталога
Кастомная реализация левого меню через выборку по инфоблоку. Очень строг на количество уровней древа.
Связан со скриптом и классом CatalogFilter:
\bitrix\templates\landings_pages\components\bitrix\news\landing_pages\bitrix\news.detail.default\script.js
Правая часть каталог: карточки товаров
Карточки выводятся кастомную версию компонента из основной части сайта.
Блок как заказать
/bitrix/templates/landings_pages/components/bitrix/news.list/landings_how_to_order/template.php
Блок проекты
/bitrix/templates/landings_pages/components/bitrix/news.list/landings_projects_list/template.php
\bitrix\templates\landings_pages\components\bitrix\news.list\landings_projects_list\script.js
Блок прайс листы
/bitrix/templates/landings_pages/components/bitrix/news.list/landings_price_list/template.php
Блок каталог текстур
Важный момент: главное, чтобы ЧПУ не конфликтовало с блоком каталога.
Пути до компонентов умного фильтра и каталог:
/bitrix/templates/landings_pages/components/bitrix/catalog.section/catalog_section_textures_2
/bitrix/templates/landings_pages/components/bitrix/catalog.smart.filter/cabinet_textures
Оба компонента являются кастомизированными версиями каталога текстур с основного сайта. В случае необходимости изменений - вносить в компонентах обоих шаблонов
Блок отзывов
Код компонента
Код скрипта
Блок вопрос-ответ
Вызываемый компонент является кастомизированной версией компонента отзывов с основного сайта!!!
Правки в него практический не вносились, за исключением добавления заголовка CUSTOM_TITLE.
Блок видео
Блок контактов
Первый тип - тип, который выводится на главной странице.
Второй тип - тип, который выводится на странице контактов.
Оба вызова являются кастомизированным выводами блоков с основного сайта. Оба блока очень чувствительны к параметрам компонента и могут выводится совсем иначе, в случае отсутствия некоторых.
Блок нужна консультация
Важный СЕО блок в конце файла
Чтобы гарантировать, что название страницы будет равно имени лендинга необходимо в конце файла явно указывать название как заголовок приложения. Вызываемые компоненты могут в некоторых случаях содержать код $APPLICATION->SetTitle. Чтобы гарантировать, что никакой в будущем вызываемый или кастомизированный компонент не будет перетирать значение было добавлено данное условие.
Правки вне шаблона лендингов и важная информация
Кастомизация верхнего меню
Чтобы лендинги появились в шапке страницы, необходимо добавить данный код в файл
/catalog/.left.menu_ext.php
Важная информация:
При переносе компонентов с основного сайта на шаблон лендингов пришлось перенести все шаблоны связанные с компонентом menu И search.title, так как они необходимы для header И footer. Также для вывода блоков контакты что первого, что второго типа были необходимы компоненты map.yandex.system и map.yandex.view.