Drupal 6 - как настроить блок VIEWS? - PullRequest
0 голосов
/ 12 октября 2011

Я не могу понять, как настроить блочное представление для этого в Drupal 6:

Пользователи отправляют картинку. Если он будет одобрен, я загружаю его на сайт.

Существует узел, который показывает детали изображения и информацию об авторе. Я хочу иметь блок с надписью: БОЛЬШЕ ЭТОГО АВТОРА. В этом блоке будут перечислены другие изображения, представленные этим автором. Как я могу это сделать?

URL-адрес: mysite / content / name-of-image, поэтому я не знаю, как создать представление, отображающее все изображения этого автора, поскольку имя пользователя отсутствует в URL-адресе. Может кто-нибудь сказать мне, как это сделать?

Спасибо.

1 Ответ

0 голосов
/ 12 октября 2011
  • Добавьте аргумент user: uid в представление.
  • выберите для этого аргумента параметр «предоставить аргумент по умолчанию».
  • выберите «код php» в качестве типа аргумента по умолчанию.
  • введите следующий код php:

    if (arg(0) == 'node' && is_numeric(arg(1))) {  
        $node = node_load(arg(1));  
        $uid = $node->uid;  
    }  
    return $uid;
    

, в вашем случае вы хотите использовать uid из поля cck узла, поэтому код php должен быть таким:

if (arg(0) == 'node' && is_numeric(arg(1))) {  
    $node = node_load(arg(1));
    //if the field contains a user id
    $uid = $node->field_authorid[0][value];

    //if the field contains a username
    $user = user_load(array('name' => check_plain($node->field_authorname[0][value]))); 
    $uid = $user->uid; 
}  
return $uid;

Теперь у вас будет идентификатор пользователя автора из узла в URL.Теперь вы можете добавлять поля в представление из узлов, созданных этим автором.

ПРИМЕЧАНИЕ: предварительный просмотр представления не будет показывать никаких результатов, поэтому вам придется сохранить это представление и протестировать его вне построителя представлений.

...