Вопрос по Drupal 7 и Views

Varnish
На сайте с 19.12.2009
Offline
55
880

Здравствуйте, коллеги

Прошу помочь с решением одной задачи.

Необходимо через Views вывести список нод, и у каждой ноды обозначить родительские термины таксономии, на которые ссылается каждая нода.

Есть словарь таксономии - Устройства, в нем есть родительские и дочерние термины:

Termin A

- subtermin 1

- subtermin 2

Termin B

- subtermin 3

- subtermin 4

У ноды могут быть выбраны сразу Termin A, Termin B, subtermin 1, subtermin 3.

Но вывести нужно только родительские термины.

На выходе должна быть такая структура:

Node 1

Termin A, Termin B

Node 2

Termin B

Node 3

Termin A

Node 4

Termin A, Termin B

Пробовал делать, но возникают дубли, от которых избавиться не получается.

Заранее благодарю

zeroif
На сайте с 15.11.2009
Offline
122
#1

Через Связи наверняка... но есть же форум друпала там нужно спрашивать

Статьи с ссылками на СМИ, под города Украины, от 413 гривен. (пишите в приват)
G2
На сайте с 27.10.2009
Offline
62
#2

If you want to display the top-level terms of a given vocabulary, create a "term" view ("View type: Term") with these basic settings: a field for "Taxonomy:Term", an argument for "Taxonomy: Vocabulary ID"

Then to filter:
1) add a relationship to "Taxonomy: Parent term"
2) add a filter on "Taxonomy: Term ID", using relationship "Parent", with operator set to "Is empty (NULL)"

Проверять лень, но если не найдете как сделать в пределах одной вьюхи - можете добавить как отдельную, через Views field. Еще вариант, делать выборку всех в скрытое поле, и кастомным полем или PHP полем выводить только родительские.

КакМаршрутник (http://goo.gl/forms/hMgaH0s9E5) — как маршрутник, но работает.
vandamme
На сайте с 30.11.2008
Offline
675
#3

Дубли удаляются включенным свойством unique (это про ноду).

Дрю не видит разницы между родителем и дочкой в терминах, без доп.хака на проверку вложенности не обойтись.

Примеры дублей надо приводить, а то сразу всего и не вспомнишь.

Varnish
На сайте с 19.12.2009
Offline
55
#4
ghost28:
Проверять лень, но если не найдете как сделать в пределах одной вьюхи - можете добавить как отдельную, через Views field. Еще вариант, делать выборку всех в скрытое поле, и кастомным полем или PHP полем выводить только родительские.

Благодарю!

Но не совсем то, поскольку это решение актуально для Term View, в моем случае Article View

---------- Добавлено 26.11.2015 в 15:05 ----------

vandamme:
Дубли удаляются включенным свойством unique (это про ноду).
Дрю не видит разницы между родителем и дочкой в терминах, без доп.хака на проверку вложенности не обойтись.
Примеры дублей надо приводить, а то сразу всего и не вспомнишь.

Подскажите, где это свойство Unique?

В фильтрах есть Reduce duplicate.

Дубли у меня следующие:

Node 1

Termin A

Node 1

Termin B

а должно быть:

Node 1

Termin A, Termin B

vandamme
На сайте с 30.11.2008
Offline
675
#5

Термины выводятся разными методами, вы, вероятно выбрали там где единичный вывод, а надо вывод терминов списком (в выборе полей, которые выводить)

в шестерке:

Таксономия: Все термины

Таксономия: Термин

Varnish:
Подскажите, где это свойство Unique?

в секции основные настройки, может и не так называется, я с шестеркой раюботаю.

G2
На сайте с 27.10.2009
Offline
62
#6
Varnish:
Но не совсем то, поскольку это решение актуально для Term View, в моем случае Article View

Вы можете вложить Term View в Article View, через field view. Это на крайний случай, время генерации просядет. Через PHP Field или хук вьюхи фильтровать выгоднее.

vandamme:
в секции основные настройки, может и не так называется, я с шестеркой раюботаю.

В семерке свойство называется по операции SQL, distinct. Находится в Advanced>Other>Aggregation

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий