Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Модули DIAFAN.CMS Поиск по сайту Отображение результатов фильтрации в url


fionovilya (fionovilya) 04 марта 2017 г.

Результаты фильтра по производителю, типу, материалу, цвету выполняет AJAX-запрос и выводятся на уже открытой странице новые данные.

Ссылка не меняется, но меняется наполнение страницы. Ссылки на эти результаты нет, поскольку содержание страницы динамическое.
А нам необходимо, чтобы результаты фильтра отображались на отдельной странице т.е. им присваивался корректный url
Друзья подскажите как реализовали у Вас ?

Dmitry (afonnikov10) 21904 марта 2017 г.

1) вы используете шаблон с Ajax поиском или разрабатываете шаблон?
2) если код ваш - выкладываете
3) если код из купленного шаблона - то за коментами к создателю или можете выложить и кто то поможет

Любимов Павел (DIAFAN.CMS) 30605 марта 2017 г., редакция 05 марта 2017 г.

Цитата
то за коментами к создателю
Сайт Денис (korogan) делал. Видимо, не комментирует или комментирует, но не достаточно доходчиво.

Виталий NVGPRO (DIAFAN.CMS) 32405 марта 2017 г., редакция 05 марта 2017 г.

Цитата
А нам необходимо, чтобы результаты фильтра отображались на отдельной странице

Например, в шаблоне страниц (site_start.php, site_catalog.php, site.php и т.д.) у Вас присутствует шаблонный тег поиска по товарам. По дефолту он выглядит так
Код
<insert name="show_search" module="shop" cat_id="current" ajax="true">
Просто удалите из него атрибут ajax="true" Т.е. будет он выглядеть так
Код
<insert name="show_search" module="shop" cat_id="current">
При таком изменении тега результат поиска будет всегда отображаться на отдельной странице.

При этом отмечу, что если вы используете атрибут ajax="true" и результаты поиска динамически отображаются на странице без перезагрузки, то это не значит, что нельзя получить туже страницу (я имею ввиду страницу с тем же результатом поиска) обратившись к сайту через определенный адрес url. Вы можете самостоятельно сформировать такой url, в котором прописываются параметры поиска. Поэкспериментируйте 5 - 10 минут, и все сразу станет очевидным.

Успехов.

Любимов Павел (DIAFAN.CMS) 30605 марта 2017 г., редакция 05 марта 2017 г.

Дополню: в некоторых случаях (сталкивался) изменяется сам шаблон, который отвечает за фильтрацию или поиск.
В шаблоне обязательно есть форма отправки данных <form>. Если у неё есть класс class="ajax", она будет отрабатывать через AJAX.

Посмотрите шаблоны на предмет наличия этого класса в формах и как он реализован. Код обычно такой:
Код
<form method="GET" action="'.BASE_PATH_HREF.$result["path"].'" class="js_shop_search_form'.(! empty($result["send_ajax"]) ? ' ajax' : '').'">
, но может быть такой, например:
Код
<form method="GET" action="'.BASE_PATH_HREF.$result["path"].'" class="js_shop_search_form ajax">

Вот эта часть строки определяет работу AJAX: '.(! empty($result["send_ajax"]) ? ' ajax' : '').'"
Можно в качестве эксперимента поставить форме class="js_shop_search_form" и посмотреть реакцию фильтров.

fionovilya (fionovilya) 05 марта 2017 г.

Друзья, спасибо получилось. Метод Виталия оказался действенным. Единственное, теперь ломаем голову, как задать более корректно отображаемую ссылку. На данный момент по результатам фильтрации она такого формата

Виталий NVGPRO (DIAFAN.CMS) 32405 марта 2017 г.

Цитата
Единственное, теперь ломаем голову, как задать более корректно отображаемую ссылку.
Ломать голову не нужно - ее нужно беречь и не напрягать по пустякам. Для решения своей задачи используйте возможности htaccess. А именно mod_rewrite (модуль сервера Apache для манипуляции (изменения) URL), конечно, если используете apache.

Любимов Павел (DIAFAN.CMS) 30605 марта 2017 г.

Цитата
ломаем голову, как задать более корректно отображаемую ссылку
Оставьте как есть. Там набор параметров. У вас слишком много характеристик на сайте, чтобы всю их совокупность редиректить для красивого URL.

Александр (capitan) 9305 марта 2017 г., редакция 05 марта 2017 г.

Можно как вариант сделать разделы типа
Белые шарфы
Красные штаны
...

у туда выкладывать результаты поиска и сео-текст

Leo (lmn0212) 30 августа 2017 г., редакция 30 августа 2017 г.

Добрый день, проблема такая же как описана выше, но метод с удалением атрибута ajax=true на страницах site_catalog.php, site.php не помогает все равно результаты выводятся через ajax. Если убрать вот эту часть - '.(! empty($result["send_ajax"]) ? ' ajax' : '').'" - шаблона фильтра, то результат поиска отображаеться на отдельной странице, но исчезают фильтры по характеристикам, вернее на странице входа (http://site.ru/shop/category/) они есть, но если применить любой фильтр, то исчезают и остаются только фильтры - из раздела админки "Фильтр товаров", а тебя выкидывает на страницу со всеми параметрами. Подскажите как быть, чтобы и результаты поиска грузились на отдельной странице и фильтры не терялись???