Выводить блок views только если больше одного материала

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

Аватар пользователя Happy Smile Happy Smile 8 ноября 2019 в 12:07

Если честно то сидела над этим вопросом где то месяц и безрезультатно Sad Какая была задача, вывести содержимое автора в блоке только тогда когда материалом минимум 2, то есть больше одного. Я что не пробовала - ничего не работает (( Надеюсь на Вашу помощь )))

Лучший ответ

Аватар пользователя bumble bumble 8 ноября 2019 в 16:05
  • Добавляете представление по материалам, по которым считать (которые "больше одного"), блоком, выводите поля, без сортировки.
  • Добавляете связь с автором, делаете обязательной.
  • При необходимости, добавляете контекстный фильтр (если автор материалов должен определяться динамически).
  • Включаете агрегацию.
  • Добавляете фильтр: По NID материала, в настройках агрегации устанавливаете "Счетчик", в настройках фильтра устанавливаете условие ("больше чем" - 1).
  • Удаляете ненужные поля.
  • Далее:
    • Добавляете поле вывода сущности пользователя, со связью (в настройках - "отображать - полную сущность", "режим просмотра - [тут выбираете нужный]").
    • Или выводите отдельное представление, например с помощью Views Field View, передавая в него ID автора (в таком случае, связь может и не понадобится вообще).

(см. скрины для наглядности)
Скриншот настроек поля вывода сущности пользователя в представлении
Скриншот настроек представления для вывода блока в зависимости от количества материалов

Комментарии

Аватар пользователя bumble bumble 8 ноября 2019 в 15:17

"больше одного материала" - это показатель чего? К-ва материалов у пользователя? К-ва материалов на странице? К-ва материалов в блоке?

Аватар пользователя bumble bumble 8 ноября 2019 в 16:05
  • Добавляете представление по материалам, по которым считать (которые "больше одного"), блоком, выводите поля, без сортировки.
  • Добавляете связь с автором, делаете обязательной.
  • При необходимости, добавляете контекстный фильтр (если автор материалов должен определяться динамически).
  • Включаете агрегацию.
  • Добавляете фильтр: По NID материала, в настройках агрегации устанавливаете "Счетчик", в настройках фильтра устанавливаете условие ("больше чем" - 1).
  • Удаляете ненужные поля.
  • Далее:
    • Добавляете поле вывода сущности пользователя, со связью (в настройках - "отображать - полную сущность", "режим просмотра - [тут выбираете нужный]").
    • Или выводите отдельное представление, например с помощью Views Field View, передавая в него ID автора (в таком случае, связь может и не понадобится вообще).

(см. скрины для наглядности)
Скриншот настроек поля вывода сущности пользователя в представлении
Скриншот настроек представления для вывода блока в зависимости от количества материалов

Аватар пользователя Happy Smile Happy Smile 9 ноября 2019 в 17:39

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

Аватар пользователя bumble bumble 9 ноября 2019 в 19:12

Зависит от настроек блока.
Не очень понятно как "смотреть со своей страницы на другого пользователя", но если нужно показывать блок пользователя в зависимости от определенных условий - можно воспользоваться контекстным фильтром представления, в котором получать необходимое значение.