[Ищу] Полудинамический фильтр

Тема в разделе "OpenCart", создана пользователем alexsofdev, 15 май 2013.

  1. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Есть два варианта фильтров - статический, это когда вы клацаете на опцию и страничка перегружается полностью и динамический, это когда перегружается только нужная часть страницы, например список товаров.

    У динамического есть следующие преимущества:
    * поисковики знать не знают что есть возможность отфильтровать товар ( потому что сервер не генерирует соответствующие ссылки ). А это автоматически означает что вам не нужно заморачиваться с формированием тайлта под какие-то варианты фильтрации.
    * получение данных выполняется несколько быстрее чем при полной перезагрузке страницы.

    Но также есть свои недостатки:
    * приходится править верстку сразу в нескольких местах ( с чем лично я уже смирился в угоду плюсам )
    * параметры сохраняются в location.hash, это участок урла после # например http://site.com/category#option1=value1.

    И вот последний нюанс начал реально напрягать. Как уже было сказано выше, поисковик индексирует только те ссылки, что есть в сайтмапе или он нашел на странице. А на странице он может к примеру найти ссылку перехода на вторую страницу, которая выглядит вот так - http://site.com/category?page=2.

    И когда посетитель зайдет по такой ссылке, он несколько удивится, ведь фильтр параметры постраничного просмотра сохраняет после хеша! В моей версии filterpro посетитель тупо попадает на первую страничку категории. И в принципе, я бы мог зафиксить это поведение, но ... но теперь представим что произойдет, когда пользователь кликнет на первую страничку. Он попадет на урл http://site.com/category?page=2#page=0, потому что скрипт может изменять только ту часть что после #.

    И вот этот бардак уже начинает утомлять. Хочется полудинамический фильтр, чтобы:
    1. верстку править нужно было только в одном месте, а именно - product\categor.tpl
    2. поисковики также пребывали в неведении относительно того что страничку категории можно отфильтровать как-то кроме как по номеру страницы ( + кол-во позиций в выдаче, + сортировка ).

    Т.е. фактически нужно чтобы урл для фильтрации генерился\кликался динамически, но сама фильтрация выполнялась посредством вполне статического обращения на сервер по получившемуся урлу. Как-то типа такого:

    Код:
    window.location = filter.getUrl();
    

    Если кто-то знает как можно докрутить до таких требований filterpro - я буду премного обязан. Если уже есть другие хорошие плагины фильтрации - тоже рассмотрю.
     
  2. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Долгое время не хотел смотреть в сторону Simon Filters, а сейчас как-то внезапно образовалось время ( или нужда ). В итоге хочется признать что этот фильтр писал гораздо более грамотный разрабочик, чем автор filterpro. Уже на уровне опций фильтра предусмотрено "Disable Ajax" что позволяет делать статический переход благодаря вот такому нехитрому кусочку кода:

    Код:
     
    if(simonfilters_disableajax){
    url = urlAjax;
    url = url.replace(/&forcefiltersupdate=.*/,'');
    url = url.replace(/forcefiltersupdate=.*/,'');
    url = getURL(url, {forcefiltersupdate:true, checkedfilters:$checkedfilters});
    document.location.href=url;
    }
    
    Этот фильтр уже учитывает страничку, на которую переходит пользователь. И это фильтр использует верстку из оригинального product/category.tpl. Поэтому были правы те, кто говорил что данный фильтр гораздо дружнее к пользовательским темам и прочему.

    Пожалуй осталось разобраться почему при выборе одного чекбокса пропадают другие три и фильтр можно будет уже юзать.

    Из недостатков данного модуля хочется отметить его недюжинное желание запихать все свои стили и скрипты в страничку. С одной стороны мы получаем большую гарантирую работоспособности ( будет дружить почти со всеми темами ), с другой стороны мы получаем утяжеление страницы на несколько десятков килобайт, без возможности их кеширования браузером. Такая вот цена гибкости.
     
    kama812 нравится это.
  3. stifutkin

    stifutkin

    Регистрация:
    22 дек 2012
    Сообщения:
    172
    Симпатии:
    43
    С чекбоксов маркеры снимаются или чекбоксы прячутся? В случае, если чекбоксы спрятались, отключите опцию Allow Dynamic Filters.
     
  4. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Опция allow dynamic filters отключена. Проблема в чем - вот есть 4 чекбокса. К примеру Количество ядер: 1 ядро, 2 ядра, 3 ядра и 4 ядра.

    В настройках css все выглядит так - я клацаю на "1 ядро", там ставится пометка, и никто никуда не исчезает. На сайте выглядит иначе. Клацаю на 1 ядро, и все пункты куда-то исчезают, остается кнопка "сбросить фильтр".
     
  5. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    269
    Симпатии:
    41
    Здравствуйте!
    • Та же беда с фильтром. Выбираю один из чекбоксов, фильтр отфильтровал, но стоит лишь перейти на любую другую страницу, как остальные (невыбранные) варианты из чекбокса пропадают (фильтр скачан на этом сайте)
    • Возможно кто-нибудь знает как сделать, чтобы выбранные чекбоксы фильтра (активные) показывались вверху фильтра, либо выделялись более выразительно, поскольку не всегда заметно какой чекбокс выбран, какой нет
     
  6. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    Так что разобрались с вопросом перехода на другую страницу? А то аналогичная проблема нарисовалась.
    --- Добавлено, 2 май 2016 ---
    Такое впечатление что не предусмотренная обратная "подкачка" что-ли.
    --- Добавлено, 2 май 2016 ---
    как вариант отключить аякс - но перезагрузка каждой страницы тоже не фонтан.
     
    Последнее редактирование: 2 май 2016
  7. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    А если сделать бесконечную подгрузку товаров ?
    Убрать вообще переход на страницы, сделать либо автоподгрузку товаров либо подгрузку кнопкой внизу.

    Что думаете ?
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    778
    Это удобно для покупателей, но не снимает вопрос, что для SEO бывает необходимость в полноценных ссылках на результаты фильтрации.
     
  9. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    Кароче тут поставил симон с выключенным аяксом. Вроде и пашет, но по-моему как-то кривовато. Или еще не настроил что-то до конца.
     
  10. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Там та же проблема.
    Выбираешь одного производителя - остальные исчезают из списка.
    И если вниз прокрутил и выбрал чекбокс, то страница прокручивается вверх. 2 раза я так сделал и жутко взбесился )))
     
  11. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    В настройках нет возможности это исправить? Если нет какая альтернатива модулю? А то симон пока наименее конфликтен.
    Но он ни**я нормально не пашет))
    --- Добавлено, 4 май 2016 ---
    Один момент до симона по Вкьмод

    Чтобы решить эту проблему (временное решение), откройте файл /admin/controller/module/simonfilters.php, и найдите следующую строку в нем:

    $VQmodpresent = strpos($main_index_contents, "require_once($" . "vqmod->modCheck(DIR_SYSTEM . 'startup.php'));");

    Под этой линии, написать следующую строку:

    $VQmodpresent = 40;
     
    Последнее редактирование: 4 май 2016
  12. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    MGT1, в своё время я все настройки излазил, их там много.
    Но настроить нормально просто не смог.
    У меня с ним и другие проблемы были, уже не помню всего.

    Фильтр про...
    Обновил только до новой версии чтобы пагинация нормально работала и всё.
     
  13. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    Не скромный вопрос - у тебя лицензия или возможно поделится?)
    И сразу вопрос он просит seo_pro.php ? Потому как у меня паладин.
     
    Последнее редактирование: 4 май 2016
  14. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    Кароче поставил пока фильтр про на тест (тестить буду завтра).
    Шаб сразу вижу надо будет подогнать. Работает шустро ппц хотя и версия старая FilterPro v2.4.2 (mega).

    Если не поставится полностью нормально - буду тестить мега фильтр про плюс.

    И чуть не забыл место где поставил вот:
     
  15. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159


    Может и проблема ТС там исправлена, не вникал, если честно.
     
    MGT1 нравится это.
  16. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    А что он требует для СЕО? Вроде пашит. Сейчас попробую бахнуть еще адаптацию с Ава и после этого поставлю на центровой) спасибо.
     
    Последнее редактирование: 5 май 2016
  17. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Сео про вроде как. На оф.сайте написано, я ссылку давал.
    Но у меня Паладин, ты же в курсе )) Пашет, титьку не просит...
     
  18. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    617
    Симпатии:
    182
    Для теста нормально ли пашет после адаптации.
     
  19. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Там в настройках есть галочка - убрать маску.
    Сейчас ты когда нажимаешь на чекбокс - всё перекрывается маской на секунду. Некрасиво.