Условия поставки:
лицензия на использование в любом количестве проектов
Способ загрузки: загрузка в автоматическом режиме через личный кабинет
Дополняет меню ссылками для фильтрации элементов инфоблоков. Используется в файлах типа .тип_меню.menu_ext.php.
Обратите внимание, в данный момент компонент работает только с обычным компонентом фильтра (catalog.filter) и не работает с умным фильтром (catalog.smart.filter).
Иногда удобно сделать ссылки прямо из меню, которые будут вести напрямую на страницу списка элементов с фильтрацией по каком-либо свойству. Данный компонент позволяет сформировать такие ссылки при помощи стандартного механизма menu_ext. Компонент работает со свойствами типа "Список" и "Привязка к элементам" (а также "Привязка к элементам в виде списка", "Привязка к элементам с автозаполнением").
Пример подключения (при размещении в компонента в папке /bitrix/components/grain/):
Файл .left.menu_ext.php:
Перед компонентом фильтра нужно разместить код:
Примечание: данный компонент не заменяет компонент фильтра, т.к. компонент фильтра инициализирует переменные. Если компонент фильтра не нужен на странице, подключайте его с пустым шаблоном.
Назад в раздел
Способ загрузки: загрузка в автоматическом режиме через личный кабинет
Розничная цена
300 руб.
|
Банковские карты
Электронные деньги
Терминалы
Счет
|
Дополняет меню ссылками для фильтрации элементов инфоблоков. Используется в файлах типа .тип_меню.menu_ext.php.
Обратите внимание, в данный момент компонент работает только с обычным компонентом фильтра (catalog.filter) и не работает с умным фильтром (catalog.smart.filter).
Иногда удобно сделать ссылки прямо из меню, которые будут вести напрямую на страницу списка элементов с фильтрацией по каком-либо свойству. Данный компонент позволяет сформировать такие ссылки при помощи стандартного механизма menu_ext. Компонент работает со свойствами типа "Список" и "Привязка к элементам" (а также "Привязка к элементам в виде списка", "Привязка к элементам с автозаполнением").
Пример подключения (при размещении в компонента в папке /bitrix/components/grain/):
Файл .left.menu_ext.php:
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
$aMenuLinksExt1 = $APPLICATION->IncludeComponent(
"grain:menu.filter",
"",
Array(
"IBLOCK_TYPE" => "recipe", // Тип информационного блока
"IBLOCK_ID" => "11", // ID информационного блока
"IBLOCK_CODE" => "", // Или символьный код информацмонного блока
"SECTION_PAGE_URL" => "/catalog/?SECTION_ID=5", // URL страницы со списком элементов
"PROPERTY_CODE" => array("REC_CUISINE", "REC_TYPE", "REC_CHAR"), // Символьные коды
// свойств, по которым будет осуществляться фильтрация
"FILTER_NAME" => "arrFilter", // Имя переменной фильтра
"INCLUDE_REQUEST_VARS" => array("lang"), // Массив параметров из исходного адреса,
// которые должны быть включены в адрес ссылок для фильтрации
"ADD_LEVEL" => "0", // Добавочное значение DEPTH_LEVEL (например, если нужно включить
// инфоблок в структуру)
"CACHE_TYPE" => "A", // Тип кеширования
"CACHE_TIME" => "36000000" // Время кеширования в секундах
)
);
$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt1);
Перед компонентом фильтра нужно разместить код:
<?
parse_str(str_replace(Array("_QLF_","_QRT_"),Array("[","]"),$_SERVER["QUERY_STRING"]),$vars);
foreach($vars as $k=>$v) {
$_REQUEST[$k]=$v;
$_GET[$k]=$v;
}
Данный код необходим для выделения текущих пунктов меню. Т.к. стандартный компонент меню в битрикс не распознает массивы в строке адреса, все квадратные скобки в адресах заменяются компонентом на "_QLF_" и "_QRT_". Поэтому перед передачей компоненту фильтра, необходимо обратное преобразование и обработка адреса при помощи parse_str, чтобы в массивах $_GET и $_REQUEST уже оказались необходимые массивы.Примечание: данный компонент не заменяет компонент фильтра, т.к. компонент фильтра инициализирует переменные. Если компонент фильтра не нужен на странице, подключайте его с пустым шаблоном.
Назад в раздел