Views Exposed Filter - выдает миллиард скрытых фильтров

Аватар пользователя Inkredo

Добрый день. Ранее работал только с мелкими фильтрами. Вот столкнулся с проблемой, сам фильтр маленький, но терминов миллиард.

То есть у нас есть таксономия 3-хуровневая

-Страна
--Область
---Город

Терминов более 5 тыщ. Ну и нужно фильтр сделать по ним. Сделал раскрытый фильтр вювса, все ок. Но потом заметил что страница что то тупит.

Когда посмотрел исходный код, ужаснулся. Друпал оказывается все это выводит, просто скрывает стилями. Получаем такую портянку http://prntscr.com/m5d5s5.

Подскажите как сделать что бы как то динамично подгружало. То есть у нас есть 4 страны, Украина, РФ, Белорусь, Казахстан.

То должно быть так, в начале 4 опшина в селекте, потом при выборе страны области подгружаются и города.

Сейчас так и есть, сделал это через модуль Simple hierarchical select. Но как оказалось он делает это просто путем скрипта + цсса. То етсь на страницу изначально грузится все что есть, и потом просто стилизируется.

Кто то сталкивался с подобным?

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя gun_dose
gun_dose 1 неделя назад

А простой hierarchical select не пробовали?

Аватар пользователя Inkredo
Inkredo 1 неделя назад
gun_dose написал:
А простой hierarchical select не пробовали?

Да, пробывал, в предпоследним абзаце про это написал. Он визуально стилизирует. То есть загружает весь список, и просто скриптом разбивает. То есть оно вроди визуально то правильно, но если посмотреть код, то ужас какой то)

Аватар пользователя Phantom63rus
Phantom63rus 1 неделя назад

А как вы видите правильную логику работы?

Аватар пользователя gun_dose
gun_dose 1 неделя назад
1

Правильная логика - это подгрузка через аякс.

Аватар пользователя Phantom63rus
Phantom63rus 1 неделя назад

Не соглашусь. Дефолтное решение это загрузка сразу, а подгрузка через аякс это опция или отдельное решение.

Аватар пользователя gun_dose
gun_dose 1 неделя назад

Мы говорим о правильной логике, а не о дефолтной.

Аватар пользователя Phantom63rus
Phantom63rus 1 неделя назад

Аякс по дефолту на мой взгляд неправильно.

Аватар пользователя Orion76
Orion76 1 неделя назад

К счастью, старый добрый "статичный" HTML уходит на вечный покой.
Приходят новые react, vue и прочие angular-ы..

А там ajax - это нормально, в смысле норма и необходимость.
Интерфейсы становятся все более responsive и еще более smart.

Самое время начинать привыкать к хорошему, пусть даже при помощи jquery-)

Аватар пользователя Inkredo
Inkredo 1 неделя назад
Phantom63rus написал:
А как вы видите правильную логику работы?

Думаю по логие должно быть так. Изначально при загрузке страницы формируется в фильтр с 4 опшинов.

РФ
Ук
Бл
КЗ

Дальше при выборе какой то из стран, идеи подгрузка селекта с второго уровная.
И т.п.

Ну вы представьте если все страны мира загрузить. Так там словарь будет с 20-30 к строк, что их все должно на страницу грузить по вашей логике?

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

Или по вашему данная логика работы правильная, которая есть сейчас? И если нужно реалезовать такой фильтр на весь мир, то на страницу изначально нужно будет грузить 50 к терминов к примеру?

Аватар пользователя adano
adano 1 неделя назад

SHS и HS - это просто "топорные" виджеты. На адекватных проектах - забудьте о них.

https://www.drupal.org/project/entityreference_filter
но, структуру тогда, скорее всего придется переделывать

Аватар пользователя Inkredo
Inkredo 1 неделя назад
adano написал:
yreference_filter

но, структуру тогда, скорее всего придется переде

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

За мудуль спс, не встречал, буду пробовать разбираться!!!

Аватар пользователя Phantom63rus
Phantom63rus 1 неделя назад

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

Аватар пользователя seonomad
seonomad 1 неделя назад

Как вариант рассмотрите сменить фильтрацию с Exposed Filter на Search Api + Facet filters. Они и с SEO более дружелюбны, и проблема описанная вами уйдет.