ГлавнаяБлогОтложенные функции [Bitrix API]

Отложенные функции [Bitrix API]

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
26 августа 2011 г.
1 мин чтения

Механизм отложенных функций в Bitrix решает задачу, когда нужно вывести данные в заголовке страницы, но значение становится известно только в момент формирования тела страницы (например, максимальная цена из списка товаров).

На странице товара устанавливаем значение через SetPageProperty:

$APPLICATION->SetPageProperty('MAX_PRICE', $maxPrice);

В header.php регистрируем отложенную функцию через AddBufferContent:

$APPLICATION->AddBufferContent(function() {
    global $APPLICATION;
    return $APPLICATION->GetPageProperty('MAX_PRICE');
});

AddBufferContent принимает callback, который вызывается после полного формирования страницы — к тому моменту SetPageProperty уже выполнен.

Для footer.php отложенные функции не нужны — значение уже доступно, достаточно просто:

echo $APPLICATION->GetPageProperty('MAX_PRICE');