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

NavStringForCache

Описание и параметры

string
CDBResult::NavStringForCache(
	int page_size=10,
	bool show_all=true,
	int NumPage=false
)

Возвращает уникальную строку идентифицирующую текущее состояние постраничной навигации (номер текущей страницы, нажата ли ссылка "Все"). Результат данного метода применяется как правило для составления идентификатора кэша, который в свою очередь используется в методах классов CPageCache и CPHPCache. Нестатический метод.

Параметры

ПараметрОписание
page_size Размер страницы постраничной навигации (от 1 и более). Необязательный. По умолчанию 10.
show_all Разрешить ли показывать все записи (и выводить ссылку "Все" в навигации).
Необязательный. По умолчанию - "true".
NumPage Принудительно ли открывать страницу с этим номером (в независимости от параметров в URL).
Необязательный. По умолчанию - "false" (открывать страницу в зависимости от параметров в URL).

Смотрите также

Примеры использования

<?
// создаем объект
$obCache = new CPageCache; 

// время кэширования - 30 минут
$life_time = 30*60; 

// получим строку идентифицирующую состояние постраничной навигации
$nav = CDBResult::NavStringForCache($PAGE_ELEMENT_COUNT);

// формируем идентификатор кэша в зависимости от всех параметров 
// которые могут повлиять на результирующий HTML
$cache_id = $nav.$ELEMENT_ID.$IBLOCK_TYPE.$USER->GetUserGroupString(); 

// инициализируем буферизирование вывода
if($obCache->StartDataCache($life_time, $cache_id, "/")):

	// получаем список элементов
	if ($rsElements = GetIBlockElementList($IBLOCK_ID, $SECTION_ID)):

		// инициализируем постраничную навигацию
		$rsElements->NavStart($PAGE_ELEMENT_COUNT);

		// выведем постраничную навигацию
		echo $rsElements->NavPrint($ELEMENT_NAME);

		// пройдемся по элементам
		while ($obElement = $rsElements->GetNextElement()):

			$arElement = $obElement->GetFields();
			$arProperty = $obElement->GetProperties();		

			echo "<pre>"; print_r($arElement); echo "</pre>";
			echo "<pre>"; print_r($arProperty); echo "</pre>";

		endwhile;
	endif;

	// записываем буферизированный результат на диск в файл кэша
	$obCache->EndDataCache(); 
endif;
?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024