setCacheItem
void public static \Bitrix\Catalog\Model\Entity::setCacheItem( $id, array $row );
Метод вручную записывает строку во внутренний кеш дочерней модели. Статический метод.
Параметры
| Параметр | Описание |
|---|---|
$id | Идентификатор строки. Метод приводит значение к целому числу |
$row | Массив данных. Для записи он должен содержать полный набор кешируемых полей дочерней модели |
Возвращаемое значение
Метод не возвращает данные.
Как работает метод
Для неположительного идентификатора или пустого массива метод не выполняет действий. Из массива он оставляет только кешируемые поля. Запись создается, только если присутствуют все поля текущей маски кеша и элемент с таким идентификатором еще не кеширован.
Список полей зависит от дочерней модели и обработчиков события OnBuildCachedFieldList. Поэтому метод применяют только тогда, когда разработчик может сформировать полный и актуальный массив.
Пример
<?php
use Bitrix\Catalog\Model\Price;
use Bitrix\Main\Loader;
if (!Loader::includeModule('catalog'))
{
throw new RuntimeException('Не удалось подключить модуль catalog');
}
// Идентификаторы для временной записи во внутреннем кеше
$priceId = 123;
$productId = 456;
$priceTypeId = 1;
// Код валюты для временной записи
$currency = 'RUB';
Price::setCacheItem($priceId, [
'ID' => $priceId,
'PRODUCT_ID' => $productId,
'CATALOG_GROUP_ID' => $priceTypeId,
'PRICE' => 1000,
'CURRENCY' => $currency,
]);
print_r(Price::getCacheItem($priceId));
Price::clearCacheItem($priceId);
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026