Drupal: получить данные из нескольких типов узлов в представлениях 2? - PullRequest
0 голосов
/ 06 октября 2009

... или, другими словами, как создать простое объединение, как я сделал бы в SQL?

Предположим, мне нужна следующая информация:

Просто в качестве примера:

  • ФИО человека
  • хобби человека.

Его полное имя в узле (профиль контента) типа "name_and_address", а его хобби - в "хобби".

В SQL я бы связал их вместе с помощью node.uid. Я видел немного об использовании отношений, но это идет с user-node-refs. Я просто хочу одного и того же пользователя для одного типа контента, а для другого.

Теперь, как я мог получить его имя и его хобби в 1 виде?

Ответы [ 3 ]

2 голосов
/ 06 октября 2009

Есть как здесь это делает работу?

Если нет ...

Виды могут быть расширены с помощью пользовательских объединений, фильтров и т. Д. Если вам повезет, для этого уже будет модуль. Некоторые модули даже предоставляют свои собственные плагины представлений.

Вы можете написать свои собственные плагины представлений, хотя документация немного фрагментирована.

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

0 голосов
/ 08 октября 2009

Вы можете использовать views_embed_view() в файлах шаблонов, чтобы вручную указать, где они появляются (и, соответственно, отобразить один вид прямо под другим). Вы можете переопределить эту функцию в пользовательском модуле (modulename_embed_view($name, $display_id)), чтобы выборочно редактировать, какие данные разрешены на странице.

Ex):

function modulename_embed_view($name, $display_id) {
  if (strcmp($_GET['q'], 'node/123') === 0) {
    $view = views_get_view($name);
    $view2 = views_get_view('second view');
    $output = $view['some element'] . $view2['element'];
  }
  return $output;
}

Я знаю, что это очень хак - я просто хотел показать, как можно использовать php для ручной визуализации и изменения представлений в ваших файлах шаблонов.

0 голосов
/ 06 октября 2009

Посмотрите на раздел отношений в представлении. Это позволяет связывать (то есть объединять) различные типы контента (например, таблицы). Он не особенно интуитивен для тех, кто привык к SQL, но это видео объясняет многое из этого. http://www.drupalove.com/drupal-video/demonstration-how-use-views-2s-relationships

...