Группировка выводимых полей, views, Drupal 7.

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

Аватар пользователя Navigator Navigator 1 июня 2011 в 21:55

Есть словарь такой структуры:

Словарь
--Термин 1
--Термин 2
--Термин 3

Нужно создать страницу со всеми материалами из этого словаря такой структуры:

Термин 1
Материал термина 1
Материал термина 1
Материал термина 1
Ссылка на все записи этого термина

Термин 2
Материал термина 2
Материал термина 2
Материал термина 2
Ссылка на все записи этого термина

Термин 3
Материал термина 3
Материал термина 3
Материал термина 3
Ссылка на все записи этого термина

Как сделать такую группировку? Тремя отдельными блоками которые выводятся только на этой странице или есть другой способ?
Используется Drupal 7 и Views 3.0

Комментарии

Аватар пользователя agent0785 agent0785 3 июля 2011 в 9:45

по моему нужно просто сделать вывод соответствующих полей, но как я помню можно выводить либо материал, либот словарь и термины, всё вместе вроде как не получится

Аватар пользователя Bober Bober 7 ноября 2011 в 0:34

Понадобилось решить схожую задачу но для Д6+views2 может кто то сможет натолкнуть на мысль куда рыть?

Аватар пользователя raal raal 7 ноября 2011 в 11:14

Это для семерки, шестерку не пользовал.

1 В материале должно быть поле с нужным словарем. И у нод значения должны быть заданы.
2. Создать View
3. В выводимые поля Fields добавить поле из пункта 1 (сделать его скрытым).
4. Задать формат вьюва Format: HTML list.
5. В настройках формата вьюва Format: HTML list | Settings задать группировку по указанному полю Grouping field.
6. Отсортировать view Sort criteria сначала по полю из пункта 1 и затем по остальным желаемым полям.
7. Если сортировать нужно НЕ по алфавиту терминов, а по их весу, то добавляем связь со словарем Relationships по полю из пункта 1. И в шестом пункте устанавливаем сортировку сначала по весу термина.

Аватар пользователя Bober Bober 30 ноября 2011 в 2:43

Сделал все как Вы советовали но не решилась основная проблема ограничения количества материалов определенного термина.
Допустим при данной схеме:
Словарь
--Термин 1
--Термин 2
--Термин 3

Термин 1
Материал термина 1
Материал термина 1
Материал термина 1
Ссылка на все записи этого термина

мне нужно выводить только 3 Материала термина.
Если я ограничиваю вывод с помощью Отображать указанное количество элементов то я не получаю следующую подкатегорию Термин 2 и ее материалы
Как ограничить вывод количества материалов?

Аватар пользователя drupolaz drupolaz 9 февраля 2012 в 17:55

"Bober" wrote:
Проблема решилась с помощью модуля views_limit_grouping http://drupal.org/project/views_limit_grouping[/quote]

Установил данный модуль, но никак не врублюсь где же появились дополнительные параметры, с помощью которых можно это провернуть. Не подскажете?

Аватар пользователя Bober Bober 9 февраля 2012 в 19:24

Повторюсь решал для D6
После установки модуля, во Views в Настройки стиля появится дополнительный стиль вывода Grouping Field (with Limit) в его настройках выбирается поле группировки и количество элементов для показа

Аватар пользователя drupolaz drupolaz 9 февраля 2012 в 21:03

Больше часа бился, как об стенку горохом ))
Структура словаря схожа с вашей: один словарь и десяток терминов.
Пытаюсь вывести на страницу из каждого термина по одной последней статье.
Выбираю стиль Grouping Field (with Limit) с настройками "Items to display:1" и "Offset:0".
"Row style: Node"
"Items to display: Unlimited"
Остальные настройки не трогал. Результат - выводится всего одна статья. Что не так? Sad

Аватар пользователя buria buria 22 июля 2015 в 16:27

Есть похожая задача :

Словарь (таксонометрии )
--Термин 1
--Термин 2
--Термин 3

Ввод данных осуществляется через тип материала вида

Термин 1
Тип материала 1: содержание 1
Тип материала 2: содержание 2
Тип материала 3: содержание 3

Нужно создать страницу со всеми материалами из этого словаря такой структуры:
Термин 1
Тип материала 1: содержание 1
Тип материала 2: содержание 2
Тип материала 3: содержание 3

Термин 2

Тип материала 1: содержание 1
Тип материала 2: содержание 2
Тип материала 3: содержание 3

те типы материала повторяются и должны выводиться заголовком. Содержание - это некий текст, который зависит от термина

у меня же разное содержание разьезжается по view. не собирается под одним общим заголовком "термин"...

На простом примере

есть словарь таксономии
Игрушки:
-мягкие игрушки
-конструктора
-компьютерные игры

Есть представления
-мягкие игрушки
--состав
--на кого рассчитано
--производитель
--рекомендации использование

-конструктора
--состав
--на кого рассчитано
--производитель
--рекомендации использование

-компьютерные игры
--состав
--на кого рассчитано
--производитель
--рекомендации использование

Пришла учительница Марь Иванна и написала статью про то как полезно играть плюшевым мишкой.
Пришел геймер Вася и написал про игровую фирму Blizzard
Пришел трудовик Петрович и написал привила пользование отверткой.

Т.е база заполяется в разнобой.

А нам надо чтобы пришел Вася Васечкин и мог все почитать только о конструкторах к примеру....

Аватар пользователя yegoren yegoren 24 августа 2015 в 4:09

Это, конечно, возможно сделать используя аргументы (контекстные фильтры) и выводя PHP-кодом или средствами вьюс в полях основной вьюхи другие вьюс с аргументами, но шибко заморочено. Я бы на Вашем месте пересмотрел структуру сайта. Судя по тому что вы написали вам разные типы материалов не нужны. Сделайте один тип "Статья", и ещё один словарь терминов, который будет указывать тип статьи. А потм воспользовавшись уже приведенным решением делайте группировку, её же можно сделать не один раз средствами самого вьюс.

Аватар пользователя DJLocksmith DJLocksmith 3 января 2016 в 23:27

Доброго времени суток. Уже сутки бьюсь над похожей проблемой, но у меня задача сложнее....
Ставим это

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