2011-10-12 3 views
0

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

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

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

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

спасибо.

ответ

0
  • Добавить пользователя: uid аргумент в представление.
  • выберите опцию «предоставить аргумент deafult» для этого аргумента.
  • выберите «php code» как тип аргумента по умолчанию.
  • вводите следующий код 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-адресе. Теперь вы можете добавлять поля в представление из узлов, созданных этим автором.

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

+0

Спасибо, но я не думаю, что вы понимаете, что я пытаюсь. Почему аргумент должен быть node: id? У меня есть доступ к полю content_author в этом узле «Детали изображения». Мне просто нужно каким-то образом отобразить все изображения ТОЛЬКО ЭТОТ автор. – Adam

+0

извините, я misead. Я думал, что «больше об этом авторе» должно быть в виде блока и обзоре большего количества изображений в отдельном представлении. Я изменю ответ – jan

+0

Это не «комментарии этого автора» it's «Другие изображения этого пользователя». Кроме того, я упомянул, что ** я ** утверждаю и загружаю изображение авторов, так что node: id ВСЕГДА я - не автор изображения. Итак, у меня есть страница с большой картинкой, которую пользователь отправил, и она сообщает все подробности рядом с ней, включая имя пользователя автора. Ниже это блок-представление, которое должно отображать все другие изображения, которые этот автор отправил. – Adam

Смежные вопросы