Документация для разработчиков
Темная тема

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
Наверх