Как настроить друпал для контентных отношений? - PullRequest
0 голосов
/ 17 августа 2010

Используя Drupal 6.x, я создал два типа контента: Person и Event.Событие имеет настраиваемое поле с именем «Посетители» (типа: ссылка на узел; неограниченное количество значений для человека).При просмотре определенного человека, как показать все его события?

Я создал вид (Личные события) и добавил отображение блока.Я включил показ блока для типа контента Person.Как определить вид?Или есть лучший способ?

Установленные модули: CCK;Узел Отношения;Просмотры

Ответы [ 2 ]

1 голос
/ 01 июня 2011

Я думаю, что один из этих модулей может быть вам полезен:

0 голосов
/ 17 августа 2010

У меня есть ответ на свой вопрос.Однако, возможно, есть лучшие ответы ... Я могу только надеяться.

Создан блок контента (Личные события)

Добавлен этот код в тело блока.Этот код передает аргумент id узла в представление

<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
  $node = node_load(arg(1));
  $args = array($node->nid );
  $view = views_get_view('PersonalEvents');
  print $view->preview('default', $args);
}
?>

Добавил этот код в страницы блока [выбрав: Показать, показывает ли следующий код PHP значение TRUE (режим PHP, только для экспертов)]... это заставляет блок отображать только личный контент.

<?php
//Read URL
$path=$_GET['q'];
//If URL is node page
if ( strpos($path,'node')===0){
//Parse URL to get nid
$links=explode("/",$_GET['q']);
$nid=$links[1];
//Load node
$node=node_load($nid);
//Display block only if node is of certain content type
if($node->type=='person'){
return TRUE;
}
}
return FALSE;
?>

Затем создается представление с:

Стиль: таблица

Содержание отношений: Участники (field_attendees);требует этого отношения (проверено);и Delta установлена ​​на ALL.

Аргумент: Узел: Nid;Отношения: участники;Скрыть вид / Страница не найдена (404) [выбрано]

Поля ... просто выбран Название узла и дата (на данный момент)

Фильтр: Тип узла = Событие

У кого-нибудь есть способ получше?

...