Перенос умного фильтра в 1C-Битрикс (отложенные функции)
HTML-код
- Опубликовано: 7 окт 2024
- В этом видеоуроке Вы узнаете о том, как перенести умный фильтр в интернет-магазине на 1С-Битрикс в любую другую область страницы.
Самый полный видеокурс по созданию интернет-магазина на 1С-Битрикс: s.web-shoper.ru...
Узнать больше про то как легко делаются современные интернет-магазины Вы можете подписавшись на мою рассылку:
free.web-shoper...
Запись сделана для этой страницы блога: blog.web-shoper...
Отличное видео! Это самый правильный и удобный способ отображения компонента (не только фильтра) в любой части шаблона. Только все-таки нужно было сделать акцент, а лучше в видео показать, что перед любыми изменениями шаблона, его нужно скопировать в шаблон сайта, дабы новички дров не наломали. А в остальном все доходчиво!
Спасибо за полезную информацию. Презентацию БУС 15 обещали анонсировать в конце октября, а релиз выпустить до гонца года. На анонсе должны будут сказать точную дату релиза) Ждем-с, очень ждем-с)
2 недели назад мне Юра Волошин говорил, что начнут продвигать 15 версию с 15.10.2014. Сейчас уже конец октября. Боюсь таким темпами мы не увидим стабл до конца года. Хотя некоторые модули в альфа 15 уже вышли, но там ничего кардинально нового нет. Что-то Битрикс тут шифруется с 15 релизом, не к добру это...
Дмитрий Акифьев Пусть работают) мне очень нравится изменения, которые они сделали в Б24 и в 1с УНФ, так что на месте не сидят) На 15ю версию у них много планов было, пусть лучше все нормально по тестят, чтоб работать можно было сразу, а не тестами заниматься и откатами)
Спасибо большое ВАМ! :)
Очень помогло.
Долго искал как перенести фильтр, с помощью Вашего урока получилось, спасибо! Однако осталась проблема с пустым местом которое осталось из под фильтра. У меня в section.php нет строки $verticalGrid, но есть следующие строки:
if (!isset($arParams['FILTER_VIEW_MODE']) || (string)$arParams['FILTER_VIEW_MODE'] == '')
$arParams['FILTER_VIEW_MODE'] = 'VERTICAL';
$arParams['USE_FILTER'] = (isset($arParams['USE_FILTER']) && $arParams['USE_FILTER'] == 'Y' ? 'Y' : 'N');
$isVerticalFilter = ('Y' == $arParams['USE_FILTER'] && $arParams["FILTER_VIEW_MODE"] == "VERTICAL");
$isSidebar = ($arParams["SIDEBAR_SECTION_SHOW"] == "Y" && isset($arParams["SIDEBAR_PATH"]) && !empty($arParams["SIDEBAR_PATH"]));
$isFilter = ($arParams['USE_FILTER'] == 'Y');
Не подскажите, что в данном случае мне нужно сделать, чтобы убрать пустое место оставшееся из под фильтра?
Дмитирй, а подскажите! Битиркс уже использует для умного фильтра ЧПУ... Если взять отдельный компонент умного фильтра и разместить его на произвольной странице сайта, чпу у него отваливается (у умного фильтра) так как требуется явное указание ID раздела для компонента умного фильтра. Если ID раздела указать явно, тогда в фильтре остаются только те свойства и значения свойств, которые есть у товаров ID раздела которого указан в настройках компонента..
Задача такова: разместить компонент "умный фильтр" на произвольной странице сайта, и в результате его работы получать ЧПУ
+Виктор Дзюба В описании к видео есть ссылка на страницу моего блога, для которого здесь выложено видео. Почитайте там комментарии и посмотрите текст с опытом моего подписчика, ссылка на который есть в тех комментариях. Вдруг поможет...
+Дмитрий Акифьев а можете дать конкретную ссылку.. У вас много материалов, трудно найти
Добрый день, Дмитрий. Раньше способ с ob_start(); отлично работал. А вот после очередных обновлений битрикса (сейчас установлены все беты) фильтр перестал работать в левой колонке сайта. Причем если убрать конструкцию переноса, то в каталоге фильтр работает, как горизонтальный, так и вертикальный.
При переносе методом ob_start(); фильтр отображается корректно в левой колонке, но при выборе любых значений фильтра кнопка "Показать" становится неактивной.
Не сталкивались еще с этой проблемой?
blog.web-shoper.ru/blog/uncategorized/2006-project-freeze.html
Дмитрий Акифьев, очень жаль. Вы реально помогали людям. За что вам большое спасибо! Удачи в ваших новых делах!
А как сделать фильтр в сайдбаре всегда, на детальной и тд?
Все хоршо, только не приемлемо. Пролетам дальше с обновленияии. Из разряда вредных советов. Сложно в битриксе сделать и просто в 3 строки и остаться с обновениями.
Ну если не приемлемо, то не делайте, изобретайте свои велосипеды, никто ж не неволит...
Я говорил, что для нормального обновления надо делать свой шаблон и вносить изменения в него. Как это делать разъяснялось в нескольких предыдущих уроках. А в этом уроке показан принцип переноса фильтра, а не как сохранить обновления. В каждом уроке делать все по уму - время зря терять.
Alex Jivitca Если чуток подумать...
Закидываешь код в любую включаемую область , и проблемы с обновлениями сводятся до минимума!
А, чуть не забыл, нужно писать:
if(!isset($_REQUEST["ajax"])) $this->SetViewTarget("metka");
и
if(!isset($_REQUEST["ajax"])) $this->EndViewTarget("metka");
иначе ajax фильтра работать не будет.