Переопределение пользовательских страниц с помощью представления


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

Author: kiamlaluno, 2012-05-30

4 answers

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

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

 2
Author: Daniel Wehner, 2012-05-30 16:31:23

Я нашел ответ на этот вопрос!

В представлениях в разделе отношения выберите Содержимое: Автор

Затем в разделе Контекстные фильтры выберите Идентификатор автора контента Используйте следующие настройки для UID автора контента:

  • Взаимосвязь: Узлы
  • ЕСЛИ ЗНАЧЕНИЕ ФИЛЬТРА НЕДОСТУПНО: Укажите
  • Значение по умолчанию / Идентификатор пользователя из URL-АДРЕСА, ЕСЛИ ДОСТУПНО ЗНАЧЕНИЕ ФИЛЬТРА ИЛИ ПРЕДОСТАВЛЯЕТСЯ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ: Укажите Критерии проверки /Валидатор: Пользователь / Разрешать как числовые идентификаторы, так и строковые имена пользователей

Затем просто создайте блок и отобразите его на странице пользователя (перейдите в настройки блока и укажите путь к users/*

Я надеюсь, что это кому-то поможет!

 1
Author: big_smile, 2012-08-04 13:22:29

Возможно, это не ответ, но попробуйте этот модуль http://drupal.org/sandbox/AshishThakur/1511158

 0
Author: j2r, 2012-05-30 16:27:03

Есть способ заменить содержимое страницы пользователя страницей просмотров (проверено)

function MODULE_menu_alter(&$items){
  $views_router = menu_get_item('path/to/my/views');
  if( $views_router ){
    $items['user/%user']['page callback'] = $views_router['page_callback'];
    $items['user/%user']['page arguments'] = $views_router['page_arguments'];
    $items['user/%user']['access callback'] = $views_router['access_callback'];
    $items['user/%user']['access arguments'] = unserialize($views_router['access_arguments']);
  }
}

Очистите кэш и проверьте настройки специальных возможностей представлений.

Посетите страницу пользователя для получения эффективных результатов.

 0
Author: Shoaib Nawaz, 2012-05-30 18:28:51