Изменить фон в шапке битрикс

Например, нам нужно выводить фон шапки из картинки товара или из свойства типа файл в детальной странице товара.

Задача решается так.

Устанавливаем новое PageProperty, в Админке (Настройки - Настройки продукта - Настройки модулей – Управление структурой), во вкладке Настройки для сайтов

новое свойство сайта битрикс.png

В шапке выводим с помощью ShowProperty.
<div id='header' style='< ? $APPLICATION->ShowProperty('head_style') ? >'>

В result_modifier.php логика и получение данных.

if(!empty($arResult['DETAIL_PICTURE']["SRC'])) 

     $arResult['STYLE'] = 'background-image: url('.$arResult['DETAIL_PICTURE']["SRC'].'); background-size: contain;'; 
}else{ 
     $arResult['STYLE'] = ''; 

$obComponent = $this->GetComponent(); 
$obComponent->SetResultCacheKeys(array('STYLE')); 

В component_epilog.php устанавливаем SetPageProperty

 if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();
if(isset($arResult['STYLE']))
{
    $APPLICATION->SetPageProperty('head_style', $arResult['STYLE']);
}

Ещё статьи:

08.11.2023 Прощай bitrix.xscan, не стало битрикс скан модуля
Сегодня увидел, что полезного модуля bitrix.xscan не стало на маркетплейсе. ID: 464

26.07.2023 Сохренение ютм меток в сессию
Вариант сохренения ютм меток в сессию в афйле init.php ID: 462

29.06.2023 Почему DNS есть, но ошибка "Не удалось получить записи с DNS серверов"
Проверка на VPS показывает, что DNS есть, но по факту ошибка "Не удалось получить записи с DNS серверов" ID: 461

© 2015-2023 Web админ
Связаться по WhatsApp