Views & Drupal 6. Добавляем таб "материалы пользователя" на страницу профиля.

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

Аватар пользователя iluhin iluhin 15 апреля 2009 в 0:19

UPDATED! Так как написано ниже - делать не надо.
>а теперь удалите все изменения в ядре, и сделайте правильно
>все тоже самое в виде,
>вид - страница
>путь user/%/tracker
>меню - Menu tab (заголовок: Материалы пользователя)

По мотивам решил разобраться, как же все-таки сделать дополнительный таб на странице профиля пользователя.
Таб должен приводить нас к просмотру всех материалов пользователя.

Для начала создаем во Views новое представление.
Я сделал самое простое:
Style:
таблица

Поля:
материал: название;
материал: Updated\commented date

Аргументы:
user: uid, в настройках ставим Provide default argument -> User ID from URL

Сортировка: материал: Updated\commented date desc.
Представление сделали, теперь собственно создадим новый таб.
-----
Для этого нам понадобится заюзать hook_menu. Я пошел в модуль user (user.module) и просто в функции user_menu добавил нужный мне элемент:

<?php    
$items
['user/%user/tracker'] = array(
'title' => 'Материалы пользователя',
'page callback' => 'user_materials_load',
'page arguments' => array(1),
'type' => MENU_LOCAL_TASK,
'weight' => 3,
'access callback' => 'user_materials_tab_access',
);
?>

Соответственно там же добавил callback для вывода материалов (наш заблаговременно подготовленные view)

<?php
function user_materials_load()
{
    
$view views_get_view('view_user_materials');
    return 
$view->preview('default');
}

function 

user_materials_tab_access()
{
    return 
TRUE;
}
?>

Примечание - я сначала попробовал view->render но почему-то он мне выдал только 10 штук, с view->preview никаких проблем не было.

Комментарии

Аватар пользователя penexe penexe 15 апреля 2009 в 0:45

а теперь удалите все изменения в ядре, и сделайте правильно
все тоже самое в виде,
вид - страница
путь user/%/tracker
меню - Menu tab (заголовок: Материалы пользователя)

Аватар пользователя batbug batbug 13 сентября 2009 в 13:00

"iluhin" wrote:
>все тоже самое в виде,
>вид - страница
>путь user/%/tracker
>меню - Menu tab (заголовок: Материалы пользователя)