Вход • Регистрация

Отображение результатов фильтрации в url

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

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

    • 04 марта 2017 г.
    • 1) вы используете шаблон с Ajax поиском или разрабатываете шаблон?
      2) если код ваш - выкладываете
      3) если код из купленного шаблона - то за коментами к создателю или можете выложить и кто то поможет
      • 05 марта 2017 г. , редакция: 05 марта 2017 г.
      • Цитата
        то за коментами к создателю
        Сайт Денис (korogan) делал. Видимо, не комментирует или комментирует, но не достаточно доходчиво.
    • 05 марта 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 минут, и все сразу станет очевидным.

      Успехов.
      • 05 марта 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" и посмотреть реакцию фильтров.
  • 05 марта 2017 г.
  • Друзья, спасибо получилось. Метод Виталия оказался действенным. Единственное, теперь ломаем голову, как задать более корректно отображаемую ссылку. На данный момент по результатам фильтрации она такого формата
    • 05 марта 2017 г.
    • Цитата
      Единственное, теперь ломаем голову, как задать более корректно отображаемую ссылку.
      Ломать голову не нужно - ее нужно беречь и не напрягать по пустякам. Для решения своей задачи используйте возможности htaccess. А именно mod_rewrite (модуль сервера Apache для манипуляции (изменения) URL), конечно, если используете apache.
    • 05 марта 2017 г.
    • Цитата
      ломаем голову, как задать более корректно отображаемую ссылку
      Оставьте как есть. Там набор параметров. У вас слишком много характеристик на сайте, чтобы всю их совокупность редиректить для красивого URL.
      • 05 марта 2017 г. , редакция: 05 марта 2017 г.
      • Можно как вариант сделать разделы типа
        Белые шарфы
        Красные штаны
        ...

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

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум