Создание представления, которое показывает все события, и пользователей, которые подписались на каждое событие

drupal.stackexchange https://drupal.stackexchange.com/questions/1749

  •  16-10-2019
  •  | 
  •  

Вопрос

Я использую Подписаться Module, и я хочу создать представление, которое показывает все события и аватары (поле пользователя Drupal по умолчанию) пользователей, которые подписались на каждое событие.

Вот макет того, чего я пытаюсь достичь. У меня есть все, кроме аватаров до сих пор.

Посмотреть макет

Смотрите экспорт взгляда, который у меня есть до сих пор

Это было полезно?

Решение

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

Вместо того, чтобы пытаться достичь этого довольно сложного взгляда, который может стать чем -то, это трудно изменить, вы можете сделать это довольно легко, используя больше и более простые запросы. Такое простое решение может выглядеть так:

  1. Вы можете создать простое представление, которое отображает всю информацию, кроме регистрации. (Заголовок узла и т. Д.)
  2. Запись уже имеет представление, которое будет отображать людей, которые подписались на мероприятие. С небольшим количеством модификации, вы можете заставить его показать аватар пользователей, который подписался на мероприятие. Затем вы могли бы встроить это представление в функцию предварительного обработки и/или шаблон для представления, который вы создали на шаге 1.
  3. Ты закончил.

А идеал Дело в том, чтобы создать все это в одном взгляде, но иногда вам приходится думать о том, что будет сравниваться с достижениями. Я сомневаюсь, что вы сможете измерить какие -либо различия в производительности, если вы не перечислите сотни, если узлы с регистрациями. Но время, которое вы сэкономите, так много, довольно много.

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

Обновлять:

Внедрить представление с аргументами (например, идентификатор узла) довольно просто:

$html = views_embed_view($name, $display_id, $arguments)

Или в вашем случае

$html = views_embed_view('signup_user_list', 'default', array('nid' => $nid));

Другие советы

Создайте «группу» по имени «Событие». Вам не нужно устанавливать все модули OG, лишь несколько. Вам не нужно создавать тип контента группы: вам просто нужно «событие».
Люди создают события и присоединяются к событиям. Перейдите в групповые разрешения по умолчанию и сделайте группу публичной, позволяя людям присоединиться к событию без подписки.

Возможно, вы захотите использовать модуль «Заменить строку», чтобы легко настроить некоторые язык по своему вкусу или переоценить функции темы группы. «Замена строки» проста и быстрая, но может быть слишком универсальным (это зависит от вас). Любой может помочь сделать язык присоединения, чтобы быть таким, как вы хотите. Заполнение шаблона позволит вам внести дополнительные изменения в пользовательский интерфейс.

Используйте представление и пользовательский шаблон.tpl.php! Сделанный! Это быстрый, легкий вес и легкий. Пользователи никогда не узнают, что они присоединяются к «группе», и результаты, которые вы получаете, точно соответствуют тому, что вы хотите. Проще простого!

Добавьте пользовательский ссылку на свой тип контента, если он еще не включает один, и включите его в свое мнение с отношениями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с drupal.stackexchange
scroll top