Интересует именно реализация самих псевдо-разделов с фильтрацией.
Придумал реализовать так:
Создать в инфоблоке каталога пустые разделы (псевдо-разделы)
Создать доп поле для разделов каталога “Ссылка фильтра”, куда буду добавлять ссылку с примененным “умным” фильтром, которую получу применив фильтр в публичном разделе. На основе этой ссылки на данной категории каталога отображаются фильтрованные товары.
При переходе в данную категорию, проверяя ее доп поле “Ссылка фильтра”, что оно не пустое, и если не пустое - показывать результат фильтрации каталога, который доступен по ссылке, которую я указал ранее.
В результате получается страницу “быстрого” фильтра со своим url, заголовком и т.д, а товары при этом берутся фильтрацией каталога.
Проблема в том - как "подменять" URL?
Например: Нужный URL псевдо-категории, которую я создал: /catalog/lustry-50-cm/ URL умного фильтра: /catalog/lyustry/filter/vysota-from-50-to-50/apply/ Если я захожу на пустую категорию (/catalog/lustry-50-cm/), то мне компонент каталога выдаст сообщение типа "Товаров в данной категории нет".
Как можно вывести под данным URL (/catalog/lustry-50-cm/) страницу с результатом фильтра (/catalog/lyustry/filter/vysota-from-50-to-50/apply/)?
if ($_SERVER['REQUEST_URI']=='/catalog/lustry-50-cm/'){
$_SERVER['REQUEST_URI'] = '/catalog/lyustry/filter/vysota-from-50-to-50/apply/';
}
Работает, но если его подключать ДО подключения пролога битрикса (например в /bitrix/header.php до подключения файла Битрикс) или как написано в статье - подключать через .htaccess. Но в таком случае при добавлении новой псевдо-категории необходимо будет руками прописывать в файл URL этой псевдо-категории, а это не подходит. + SEO данные берутся из родительской категории, а не из псевдо-раздела, что тоже не подходит. Да и в целом, как то не очень, захардкоженно получается, особенно, если таких категорий будет много)
Знаю, что это можно как то сделать красиво, но пока не могу придумать как. Подскажите, пожалуйста, кто сталкивался с такой задачей и как ее можно реализовать?
Иван Волочай написал: Но в таком случае при добавлении новой псевдо-категории необходимо будет руками прописывать в файл URL этой псевдо-категории, а это не подходит.
Не обязательно. У вас на входе есть '/catalog/lustry-50-cm/', оттуда вытаскивается SECTION_CODE нужной секции, а из нужной секции вытаскивается “Ссылка фильтра” ('/catalog/lyustry/filter/vysota-from-50-to-50/apply/').
Цитата
Иван Волочай написал: + SEO данные берутся из родительской категории, а не из псевдо-раздела, что тоже не подходит.
Что логично, потому что, страница загружается совсем другая, с совсем другим разделом. При желании всё достаётся через вашу "Ссылку фильтра" и подменяется уже на месте.