Здравствуйте!
никак не могу организовать вывод через views:
Есть тип материала:
- недвижимость
Есть поля:
- Город Ссылка на сущность Список выбора больше 1000 значений
-район москва Ссылка на термин Список выбора
-район питер Ссылка на термин Список выбора
.................
60 полей с районами
словари таксономиии город : район москва: район питер .........
есть зависимость полей город-район
Вопрос: Как вывести блок поля:
город и при выборе города появлялось поле (район этого города )
Очень долго ковырялся во Views, но нормального решения так и не нашел.
хотел сделать через фильтр глобальный:dependent filter но много значений и вылетает ошибка
SQLSTATE[HY000]: General error: 1116 Too many tables; MySQL can only use 61 tables in a join
Всем заранее Спасибо и с Новым годом!
Комментарии
Не понятно, а зачем Вам 60 полей с районами?
Вьюс за это Вас и отругал.
Наверное структуру данных надо как-то оптимизировать..
60 однотипных полей в сущности - это сигнал, я бы даже сказал - "сирена!!!": что-то тут не правильно..
я сделал отдельные словари имя район москва -термины
район питер -термины
раййон воронеж -термины
и тд
и к каждому словарю поле
или как сделать правильней???
Чтобы дать точно правильный ответ, нужно лучше понимать:
как и что у Вас устроено и как должно работать.
Для этого необходимо подробнее расписать задачу.
А без подробностей, могу только предположить, что правильнее было бы для районов сделать один словарь таксономии, с двумя уровнями:
1.Уровень 1 - Города
2.Уровень 2 - Районы
Что-то типа такого:
Москва
- Район 1
- Район 2
- Район 3
- Район N
Петербург
- Район 1
- Район 2
- Район 3
- Район N
у меня так и сделано
пытаюсь сделать поиск вот вьюха
вьюха ругается
a задача выводить поле при выборе определенного термина
например в поле город выбираю москва
выскакивает поле район москва и тд
во вьюхе может есть другой способ использовать фильтры??
помимо глобальный:dependent filter
через контекстные фильтры,связи,агрегацию??
не могу сообразить)
У Вас для каждого города словарь: для районов и для метро
В связи с поступившей информацией структура данных скорее всего должна быть такая:
в вообще по правильному должно быть всего 3 словаря:
1.Город
2.Метро
3.Районы
У терминов словарей:
2.Метро
3.Районы
необходимо добавить поле "Ссылка на термин таксономии", словарь "Город"
В итоге у Вас получиться:
1.Словарь "Город" - просто список городов.
2.Словарь "Метро" - список метро связанных с определенными городами
2.Словарь "Район" - список районов связанных с определенными городами
В материале "Недвижимость"
добавляете для этих словарей поля:
1.Город
2.Метро
3.Район
Недавно (вчера-позавчера) тут проскакивал модуль для фильтрации списка выбора для поля типа entityreference.
при помощи него можно добиться такого функционала при заполнении полей материала недвижимость:
1.Выбираете город объекта недвижимости
2.При выборе района, список районов фильтруется по ранее выбранному городу, т.е. выводятся районы выбранного в поле Город города.
3.При выборе метро, список метро фильтруется по ранее выбранному городу, т.е. выводятся метро выбранного в поле Город города.
в вьюсе тоже все просто.
Поля:
Раскрытые фильтры:
все.. никаких 60 полей, и список городов ничем не ограничен, хоть 61, хоть миллион-)
я не пойму как должна выглядеть структура словарей район и метро
район
-воронеж
--центральный
--коминтерновский
метро
-москва
--киевская
--кутузовская
так чтоли
или
район
-все районы всех городов
метро
-все метро всех городов
(необходимо добавить поле "Ссылка на термин таксономии", словарь "Город")здесь можно поподробней
а то чего то страшно
и вроде я так пытался делать чего то не вышло
(необходимо добавить поле "Ссылка на термин таксономии", словарь "Город")
поле добавлять в таксономиии или в материалах?
hierarchical_select или shs позволят сделать вам нормальную структуру, как у людей. А эти 60 полей и словарей удалите.
а в hierarchical_select можно сделать метки в выпадающих списках
подписывать поля
выбрал город выпало поле с районами и сделать метку что районы?
В последней версии, предложенной мной структуры данных многоуровневые словари не нужны,
иначе придется дублировать Уровень 1 (Город) в каждом из словарей (Районы, Метро и т.п.)
А так, словарь Город со списком городов только один, и прикрепляется к терминам Районы, Метро через поле "Ссылка на термин таксономии"
1.Словарь Город
- Москва
- Петербург
- Самара
2. Словарь Районы (к термину добавляется поле "город" одноименного словаря)
- Район 1, город: Москва
- Район 2, город: Москва
- Район 3, город: Москва
- Район 1, город: Петербург
- Район 2, город: Петербург
- Район 3, город: Петербург
- Район 1, город: Самара
- Район 2, город: Самара
- Район 3, город: Самара
3. Словарь Метро (к термину добавляется поле "город" одноименного словаря)
- Метро 1, город: Москва
- Метро 2, город: Москва
- Метро 3, город: Москва
- Метро 1, город: Петербург
- Метро 2, город: Петербург
- Метро 3, город: Петербург
- Метро 1, город: Самара
- Метро 2, город: Самара
- Метро 3, город: Самара
. Словарь Районы (к термину добавляется поле "город" одноименного словаря)
- Район 1, город: Москва
- Район 2, город: Москва
- Район 3, город: Москва
- Район 1, город: Петербург
- Район 2, город: Петербург
- Район 3, город: Петербург
- Район 1, город: Самара
- Район 2, город: Самара
- Район 3, город: Самара
а как такое организовать?
можно пошагово
если не трудно
Создаете 3 словаря;
1.Города
2.Районы
3.Метро
Заходите в настройки словаря Районы
на вкладку "Управление полями"
в поле "Добавить новое поле" пишите наименование поля (например city)
в столбце "Тип поля" выбираете из списка "Ссылка на термин"
в столбце "Виджет" выбираете "Список"
Жмете "Сохранить"
на следующем шаге выбираете Словарь: Город
Жмете "Сохранить"
Заходите в настройки словаря Метро
на вкладку "Управление полями"
т.к. поле "city" уже создано при добавлении его в словарь Районы, просто выбираете его из списка "- Выберите существующее поле -"
в столбце "Виджет" выбираете "Список"
Жмете "Сохранить"
буду пробовать
я только одного не пойму в словарь районы добавлять районы всех городов как термины?
и как тогда привязывать термины одного словаря с терминами другого?
> город и при выборе города появлялось поле (район этого города )
Словарь "местоположение"
Термины:
Название города
- название района
...
Для селектов можно использовать shs
P.S.
Проектирование структуры ER связей на первоначальном этапе позволяет сократить время и издержки далее.
Для этого используется теория и практика нормализации https://ru.wikipedia.org/wiki/ER-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C
не могу организовать такую структуру
каким модулем пользоваться?
подскажите кто знает?
Давно связям с в словарях для вывода через views предпочитаю https://www.drupal.org/project/facetapi они динамически строятся, что гибче и удобней для юзабилити, а остальное было написано типа город - район - деревянный слорварь