1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

Не могу разобраться с представлениями, вроде несложно,но не могу

Главные вкладки

Всем привет!

Есть 4 словаря:

Словарь No1. Название словаря: Продукты

Термины:
- Яблоки (тут нет никаких свойств)
-- Гренни (Фрукты -> Яблоки, Цвет -> Зеленый, Вкус -> Кислый)
-- Сезонное (Фрукты -> Яблоки, Цвет -> Красный, Вкус -> Сладкий)
- Груши (тут нет никаких свойств)
-- Августинка (Фрукты -> Груши, Цвет -> Зеленый, Вкус -> Сладкий)
-- Алая (Фрукты -> Груши, Цвет -> Красный, Вкус -> Сладкий)

Т.е. у данного словаря созданы поля Фрукты, Цвет и Вкус, которые ссылаются на соответствующие словари (Сущность) Фрукты, Цвет и Вкус. Значения полей указаны только для дочерних терминов.

Все остальные словари не имеют никаких полей и связей, там просто термины на одном уровне.

Словарь No2. Название словаря: Фрукты

Термины:
- Яблоки
- Груши

Словарь No3. Название словаря: Вкус

Термины:
- Сладкий
- Кислый

Словарь No4. Название словаря: Цвет

Термины:
- Зеленый
- Красный

Хотелось бы выяснить, как можно сделать и можно ли вообще, чтобы:

1. Находясь на странице Яблоки (она формируется из URL термина Яблоки в словаре Фрукты) получить все цвета и вкусы, которые имеются в свойствах терминов в словаре Продукты и родительского термина Яблоки. Т.е. в данном случае должно получиться: Зеленый, Красный; Кислый, Сладкий. Например, чтобы можно было сказать: у нас есть зеленые яблоки, красные яблоки, кислые яблоки и сладкие яблоки. Но при этом не важно, например, зеленые яблоки являются кислыми или сладкими, нужно просто список свойств Цвет и Вкус.

И аналогично для Груш

2. Находясь на странице Груши (она формируется из URL термина Груши в словаре Фрукты) получить все цвета и вкусы, которые имеются в свойствах терминов в словаре Продукты и родительского термина Груши. Т.е. в данном случае должно получиться: Зеленый, Красный; Сладкий. И также не важно, например, зеленые груши являются кислыми или сладкими, нужно просто список свойств Цвет и Вкус. Хотя тут всего один вкус, поэтому и так понятно....но главное идея - просто получить список свойств.

Главное - без добавления каких-либо свойств и связей в словарях Фрукты, Вкус и Цвет. Вроде все необходимые связи прописаны в словаре Продукты на все остальные сущности. На мой взгляд, должно получиться, просто мне не хватает опыта в Друпале)

И, конечно, хотелось бы, чтобы не создавать для каждого фрукта отдельное представление. Какое-то шаблонное представление просится. Т.е. я бы хотел добавлять новые сорта фруктов в Таксономию, прописывать все необходимые свойства, а представления уже сами чтобы формировались по шаблону без моего участия. Для этого я создал Контекстный Фильтр "Термин таксономии: ID термина (По умолчанию: ID термина таксономии из URL)", выбрал словарь Фрукты. Названия терминов (Яблоки, Груши) удалось получить, а дальше не могу разобраться какие связи и фильтры создавать.

Комментарии

Аватар пользователя Delewo Delewo 20 марта в 19:41

marassa, спасибо, установил, настроил, проиндексировал и т.д. Создал представление, с помощью которого необходимо вывести список названий терминов таксономии. Как и советует разработчик - добавил фасет и в блоках разместил этот фасет в нужном месте страницы. Вроде бы все корректно отобразилось, но в настройках фасета есть только 4 виджета: List of checkboxes, Выпадающий
Array with raw results, List of links. Мне более менее подходит List of links, но в этом случае элементы отображатся с помощью маркированного списка, а мне надо через запятую. При этом, настройки отображения в самом представлении не работают, т.е. даже если выбрать через запятую, то все равно будут отображаться с помощью маркированного списка. И настройки стиля не работают, т.е. я для каждого блока создаю свой стиль, и если это представление выводить через фасет, то стили тоже не добавляются.

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

В настройках фасета вообще не нашел ничего про стили. Мне кажется, правильнее было бы выводить через фасеты. Может в каком-то другом месте настраиваются стили?

И если выводить через фасеты, не работает опция "Переопределить вывод этого поля пользовательским текстом", т.е. выводится все равно название этого поля без пользовательского текста. Если выводить обычным способом блок, то эта опция прекрасно работает, только опять же - дублируется при определенных условиях (описано выше).

Логотип drupal.ru

Содержимое сайта публикуется на условиях CreativeCommons Attribution-ShareAlike 3.0 или более поздней версии. Программные коды в тексте статей — на условиях GNU GPL v2 или более поздней версии.

Документация по совместной работе с репозиторием drupal.ru – https://docs.drupal.ru/code

Drupal – торговая марка Дриса Бёйтарта

12+

AltStyle によって変換されたページ (->オリジナル) /