Drupal Views: Показать последние узлы, созданные пользователем на странице профиля. - PullRequest
13 голосов
/ 03 апреля 2010

Мне интересно, как я могу отобразить недавно созданные узлы пользователем на странице своего профиля. Я создал новую страницу для пользователя в / user /% user, и я хочу иметь возможность отображать последние узлы, созданные этим пользователем.

Ответы [ 3 ]

19 голосов
/ 03 апреля 2010

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

Я предполагаю, что вы знаете, как загрузить и установить модуль представлений. убедитесь, что вы также включили модуль views-ui.

  1. зайдите на сайт-> views-> add.
  2. поместите «Recent_posts_by_user» для имени представления, «последние сообщения пользователя» для описания и «узел» для типа представления. ударить дальше.
  3. в типе представления "по умолчанию" в блоке "fields" нажмите знак "+".
  4. в разделе «группы» выберите узел, затем проверьте поля «тип узла», «название узла» и «дата обновления узла». нажмите кнопку «Добавить» под списком.
  5. в блоке основных настроек (слева), нажмите «10» для «элементов для отображения» и измените на «5» или сколько угодно элементов на странице и нажмите «обновить»
  6. в разделе «использовать пейджер» нажмите «нет» и «полный пейджер» или «мини-пейджер» и снова нажмите «обновить».
  7. в стиле, нажмите «неформатированный» и измените его на «таблица», установите для всех полей сортировку, затем выберите «обновленную дату» как «сортировку по умолчанию», затем в «порядке сортировки по умолчанию» выберите «по убыванию». Хит обновление.
  8. нажмите "сохранить", чтобы сохранить ваш прогресс на данный момент.

просмотр по умолчанию сделан. УРА! давайте добавим блок

  1. теперь в раскрывающемся списке с надписью «страница», выберите «блок» и нажмите «добавить отображение».
  2. нажать "Аргументы" (заголовок блока в центре экрана)
  3. нажмите "переопределить" и "обновить"
  4. нажмите знак "+" справа от "аргументов"
  5. в выпадающем списке «groups» выберите «user» и «user id». нажмите «добавить»
  6. в разделе «Действие, которое необходимо выполнить, если аргумент отсутствует», выберите последний параметр «предоставить аргумент по умолчанию», выберите «идентификатор пользователя из URL» и установите флажок «Также искать узел и использовать автора узла»
  7. в разделе «Валидатор» выберите «Пользователь» и «Разрешить как числовые UID, так и строковые имена пользователей»
  8. в разделе "Действие, если аргумент не проверяется", выберите "скрыть вид / страница не найдена (404)"
  9. нажмите «обновить», затем «сохранить»

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

  1. зайдите в блоки здания сайта->, найдите блок "последние сообщения пользователя" и нажмите "настроить"
  2. прокрутите до конца и выберите «Показывать только на перечисленных страницах». и поместите в "users / *" под текстовой областью "pages"
  3. нажмите "Сохранить блок"
  4. теперь снова найдите блок «последние сообщения пользователя» и установите для него «область нижнего содержимого» (или любой другой регион, доступный вашей теме).
  5. нажмите "Сохранить блоки"

СДЕЛАНО! Не ракетостроение, а длительный процесс ... взгляды на drupal 6 намного лучше, чем на drupal 5! :)

теперь зайдите на страницу пользователя http://site/users/username и увидите там таблицу!

ударить меня, если у вас все еще есть вопросы по поводу просмотров.

наслаждаться

2 голосов
/ 03 апреля 2010

Добавьте аргумент Views, который использует идентификатор пользователя из аргумента URL. Это будет arg (1). Это должно отфильтровать контент, созданный профилем, который вы просматриваете. Это может работать для блока или панели содержимого.

1 голос
/ 08 октября 2010

Я просто предпочитаю, чтобы вы пошли в Представления -> Критерии сортировки и добавили узел: Дата обновления и отметили его как нисходящий, поскольку он показывает степень детализации с течением времени.

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

...