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

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