Добрый день. Ранее работал только с мелкими фильтрами. Вот столкнулся с проблемой, сам фильтр маленький, но терминов миллиард.
То есть у нас есть таксономия 3-хуровневая
-Страна
--Область
---Город
Терминов более 5 тыщ. Ну и нужно фильтр сделать по ним. Сделал раскрытый фильтр вювса, все ок. Но потом заметил что страница что то тупит.
Когда посмотрел исходный код, ужаснулся. Друпал оказывается все это выводит, просто скрывает стилями. Получаем такую портянку http://prntscr.com/m5d5s5.
Подскажите как сделать что бы как то динамично подгружало. То есть у нас есть 4 страны, Украина, РФ, Белорусь, Казахстан.
То должно быть так, в начале 4 опшина в селекте, потом при выборе страны области подгружаются и города.
Сейчас так и есть, сделал это через модуль Simple hierarchical select. Но как оказалось он делает это просто путем скрипта + цсса. То етсь на страницу изначально грузится все что есть, и потом просто стилизируется.
Кто то сталкивался с подобным?
Комментарии
А простой hierarchical select не пробовали?
Да, пробывал, в предпоследним абзаце про это написал. Он визуально стилизирует. То есть загружает весь список, и просто скриптом разбивает. То есть оно вроди визуально то правильно, но если посмотреть код, то ужас какой то)
Простой - это имеется в виду не симпл, а hierarchical_select
А как вы видите правильную логику работы?
Правильная логика - это подгрузка через аякс.
Не соглашусь. Дефолтное решение это загрузка сразу, а подгрузка через аякс это опция или отдельное решение.
Мы говорим о правильной логике, а не о дефолтной.
Аякс по дефолту на мой взгляд неправильно.
К счастью, старый добрый "статичный" HTML уходит на вечный покой.
Приходят новые react, vue и прочие angular-ы..
А там ajax - это нормально, в смысле норма и необходимость.
Интерфейсы становятся все более responsive и еще более smart.
Самое время начинать привыкать к хорошему, пусть даже при помощи jquery-)
Думаю по логие должно быть так. Изначально при загрузке страницы формируется в фильтр с 4 опшинов.
РФ
Ук
Бл
КЗ
Дальше при выборе какой то из стран, идеи подгрузка селекта с второго уровная.
И т.п.
Ну вы представьте если все страны мира загрузить. Так там словарь будет с 20-30 к строк, что их все должно на страницу грузить по вашей логике?
Я просто знание программирования понимаю на уровне переопределить шаблон, вывод полей сделать, с формальтером поработать. По этому и спрашиваю нет ли готового решения, мож кто делал.
Или по вашему данная логика работы правильная, которая есть сейчас? И если нужно реалезовать такой фильтр на весь мир, то на страницу изначально нужно будет грузить 50 к терминов к примеру?
SHS и HS - это просто "топорные" виджеты. На адекватных проектах - забудьте о них.
https://www.drupal.org/project/entityreference_filter
но, структуру тогда, скорее всего придется переделывать
Разные, но работают так же, все через скрипты, просто визуальное оформления, для обычного пользователя бы пошло, но если глянуть внутрь то понимаешь что через попу получается.
За мудуль спс, не встречал, буду пробовать разбираться!!!
На мой взгляд, если речь идёт о географии от уровня страны до уровня деревни, то надо использовать решения для географии, т.е. специальные поля, которые работают в связке с сервисами карт.
Да нужно подгружать по ajax и это https://www.drupal.org/project/hierarchical_select если мало то написать свой фильтр для views благо там не долго.
Как вариант рассмотрите сменить фильтрацию с Exposed Filter на Search Api + Facet filters. Они и с SEO более дружелюбны, и проблема описанная вами уйдет.