Folgende Inhaltstypen habe ich erstellt: ___________________________________ "Entitäten" Autor(Titel, Body, field_liest_ref) Buch(Titel, Body, field_liest_ref) Termin(Titel, Body, field_liest_ref) "Relation" liest(Titel, field_autor, field_buch, field_termin) Alles, was mit "field" anfängt, sind Node references. Unter Konfiguration -> Corresponding Node References sind alle Felder als "corresponding" markiert, also: Die drei Verlinkungen "field_buch", "field_autor" und "field_termin" des Bundle "liest" jeweils mit der passenden "field_liest_beziehung" auf der anderen Seite. Nun erstellt man Views, die als Block gespeichert und dann mittels Struktur -> Blöcke so konfiguriert werden, dass sie nur unter bestimmten Inhaltstypen erscheinen. Mittels kontextuellem Filter (Früher "Arguments") kann die View auf die Node-ID des gerade angezeigten Node zugreifen. Ich habe als Beispiel die View "Termine eines Autors" unten exportiert. Diese View verwende ich auf der Seite eines Autors. Sie zeigt alle Termine, an denen der Autor anwesend ist, filtert also nach Typ "Termin". Dazu werden die Bücher aufgelistet, aus denen der Autor an diesem Termin liest oder weiß-der-geier-was mit macht. Die View "Termine eines Autors": _____________________________ $view = new view; $view->name = 'termine_eines_autors'; $view->description = ''; $view->tag = 'default'; $view->base_table = 'node'; $view->human_name = 'Termine eines Autors'; $view->core = 7; $view->api_version = '3.0-alpha1'; $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */ /* Display: Master */ $handler = $view->new_display('default', 'Master', 'default'); $handler->display->display_options['title'] = 'Termine eines Autors'; $handler->display->display_options['access']['type'] = 'perm'; $handler->display->display_options['cache']['type'] = 'none'; $handler->display->display_options['query']['type'] = 'views_query'; $handler->display->display_options['query']['options']['query_comment'] = FALSE; $handler->display->display_options['exposed_form']['type'] = 'basic'; $handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Zurücksetzen'; $handler->display->display_options['pager']['type'] = 'full'; $handler->display->display_options['pager']['options']['items_per_page'] = '10'; $handler->display->display_options['style_plugin'] = 'table'; $handler->display->display_options['style_options']['grouping'] = 'body'; $handler->display->display_options['style_options']['columns'] = array( 'title' => 'title', 'title_1' => 'title_1', 'title_2' => 'title_2', 'title_3' => 'title_3', 'body' => 'body', ); $handler->display->display_options['style_options']['default'] = '-1'; $handler->display->display_options['style_options']['info'] = array( 'title' => array( 'sortable' => 0, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', ), 'title_1' => array( 'sortable' => 0, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', ), 'title_2' => array( 'sortable' => 0, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', ), 'title_3' => array( 'sortable' => 0, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', ), 'body' => array( 'sortable' => 0, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', ), ); $handler->display->display_options['style_options']['override'] = 1; $handler->display->display_options['style_options']['sticky'] = 0; $handler->display->display_options['style_options']['empty_table'] = 0; /* Relationship: Inhalt: Nicht ausfüllen. Liest-Beziehung (field_liest_ref) */ $handler->display->display_options['relationships']['field_liest_ref_nid']['id'] = 'field_liest_ref_nid'; $handler->display->display_options['relationships']['field_liest_ref_nid']['table'] = 'field_data_field_liest_ref'; $handler->display->display_options['relationships']['field_liest_ref_nid']['field'] = 'field_liest_ref_nid'; $handler->display->display_options['relationships']['field_liest_ref_nid']['required'] = 0; $handler->display->display_options['relationships']['field_liest_ref_nid']['delta'] = '-1'; /* Relationship: Inhalt: Autor, der liest (field_autor) */ $handler->display->display_options['relationships']['field_autor_nid']['id'] = 'field_autor_nid'; $handler->display->display_options['relationships']['field_autor_nid']['table'] = 'field_data_field_autor'; $handler->display->display_options['relationships']['field_autor_nid']['field'] = 'field_autor_nid'; $handler->display->display_options['relationships']['field_autor_nid']['relationship'] = 'field_liest_ref_nid'; $handler->display->display_options['relationships']['field_autor_nid']['required'] = 0; $handler->display->display_options['relationships']['field_autor_nid']['delta'] = '-1'; /* Relationship: Inhalt: Buch. das gelesen wird (field_buch) */ $handler->display->display_options['relationships']['field_buch_nid']['id'] = 'field_buch_nid'; $handler->display->display_options['relationships']['field_buch_nid']['table'] = 'field_data_field_buch'; $handler->display->display_options['relationships']['field_buch_nid']['field'] = 'field_buch_nid'; $handler->display->display_options['relationships']['field_buch_nid']['relationship'] = 'field_liest_ref_nid'; $handler->display->display_options['relationships']['field_buch_nid']['required'] = 0; $handler->display->display_options['relationships']['field_buch_nid']['delta'] = '-1'; /* Feld: Inhalt: Titel */ $handler->display->display_options['fields']['title']['id'] = 'title'; $handler->display->display_options['fields']['title']['table'] = 'node'; $handler->display->display_options['fields']['title']['field'] = 'title'; $handler->display->display_options['fields']['title']['label'] = ''; $handler->display->display_options['fields']['title']['exclude'] = TRUE; $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0; $handler->display->display_options['fields']['title']['alter']['make_link'] = 0; $handler->display->display_options['fields']['title']['alter']['absolute'] = 0; $handler->display->display_options['fields']['title']['alter']['external'] = 0; $handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0; $handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0; $handler->display->display_options['fields']['title']['alter']['nl2br'] = 0; $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0; $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0; $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0; $handler->display->display_options['fields']['title']['alter']['trim'] = 0; $handler->display->display_options['fields']['title']['alter']['html'] = 0; $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE; $handler->display->display_options['fields']['title']['element_default_classes'] = 1; $handler->display->display_options['fields']['title']['hide_empty'] = 0; $handler->display->display_options['fields']['title']['empty_zero'] = 0; $handler->display->display_options['fields']['title']['hide_alter_empty'] = 0; $handler->display->display_options['fields']['title']['link_to_node'] = 1; /* Feld: Inhalt: Titel */ $handler->display->display_options['fields']['title_1']['id'] = 'title_1'; $handler->display->display_options['fields']['title_1']['table'] = 'node'; $handler->display->display_options['fields']['title_1']['field'] = 'title'; $handler->display->display_options['fields']['title_1']['relationship'] = 'field_liest_ref_nid'; $handler->display->display_options['fields']['title_1']['label'] = ''; $handler->display->display_options['fields']['title_1']['exclude'] = TRUE; $handler->display->display_options['fields']['title_1']['alter']['alter_text'] = 0; $handler->display->display_options['fields']['title_1']['alter']['make_link'] = 0; $handler->display->display_options['fields']['title_1']['alter']['absolute'] = 0; $handler->display->display_options['fields']['title_1']['alter']['external'] = 0; $handler->display->display_options['fields']['title_1']['alter']['replace_spaces'] = 0; $handler->display->display_options['fields']['title_1']['alter']['trim_whitespace'] = 0; $handler->display->display_options['fields']['title_1']['alter']['nl2br'] = 0; $handler->display->display_options['fields']['title_1']['alter']['word_boundary'] = 1; $handler->display->display_options['fields']['title_1']['alter']['ellipsis'] = 1; $handler->display->display_options['fields']['title_1']['alter']['strip_tags'] = 0; $handler->display->display_options['fields']['title_1']['alter']['trim'] = 0; $handler->display->display_options['fields']['title_1']['alter']['html'] = 0; $handler->display->display_options['fields']['title_1']['element_label_colon'] = FALSE; $handler->display->display_options['fields']['title_1']['element_default_classes'] = 1; $handler->display->display_options['fields']['title_1']['hide_empty'] = 0; $handler->display->display_options['fields']['title_1']['empty_zero'] = 0; $handler->display->display_options['fields']['title_1']['hide_alter_empty'] = 0; $handler->display->display_options['fields']['title_1']['link_to_node'] = 1; /* Feld: Inhalt: Titel */ $handler->display->display_options['fields']['title_2']['id'] = 'title_2'; $handler->display->display_options['fields']['title_2']['table'] = 'node'; $handler->display->display_options['fields']['title_2']['field'] = 'title'; $handler->display->display_options['fields']['title_2']['relationship'] = 'field_autor_nid'; $handler->display->display_options['fields']['title_2']['label'] = ''; $handler->display->display_options['fields']['title_2']['exclude'] = TRUE; $handler->display->display_options['fields']['title_2']['alter']['alter_text'] = 0; $handler->display->display_options['fields']['title_2']['alter']['make_link'] = 0; $handler->display->display_options['fields']['title_2']['alter']['absolute'] = 0; $handler->display->display_options['fields']['title_2']['alter']['external'] = 0; $handler->display->display_options['fields']['title_2']['alter']['replace_spaces'] = 0; $handler->display->display_options['fields']['title_2']['alter']['trim_whitespace'] = 0; $handler->display->display_options['fields']['title_2']['alter']['nl2br'] = 0; $handler->display->display_options['fields']['title_2']['alter']['word_boundary'] = 1; $handler->display->display_options['fields']['title_2']['alter']['ellipsis'] = 1; $handler->display->display_options['fields']['title_2']['alter']['strip_tags'] = 0; $handler->display->display_options['fields']['title_2']['alter']['trim'] = 0; $handler->display->display_options['fields']['title_2']['alter']['html'] = 0; $handler->display->display_options['fields']['title_2']['element_label_colon'] = FALSE; $handler->display->display_options['fields']['title_2']['element_default_classes'] = 1; $handler->display->display_options['fields']['title_2']['hide_empty'] = 0; $handler->display->display_options['fields']['title_2']['empty_zero'] = 0; $handler->display->display_options['fields']['title_2']['hide_alter_empty'] = 0; $handler->display->display_options['fields']['title_2']['link_to_node'] = 1; /* Feld: Inhalt: Titel */ $handler->display->display_options['fields']['title_3']['id'] = 'title_3'; $handler->display->display_options['fields']['title_3']['table'] = 'node'; $handler->display->display_options['fields']['title_3']['field'] = 'title'; $handler->display->display_options['fields']['title_3']['relationship'] = 'field_buch_nid'; $handler->display->display_options['fields']['title_3']['label'] = ''; $handler->display->display_options['fields']['title_3']['alter']['alter_text'] = 0; $handler->display->display_options['fields']['title_3']['alter']['make_link'] = 0; $handler->display->display_options['fields']['title_3']['alter']['absolute'] = 0; $handler->display->display_options['fields']['title_3']['alter']['external'] = 0; $handler->display->display_options['fields']['title_3']['alter']['replace_spaces'] = 0; $handler->display->display_options['fields']['title_3']['alter']['trim_whitespace'] = 0; $handler->display->display_options['fields']['title_3']['alter']['nl2br'] = 0; $handler->display->display_options['fields']['title_3']['alter']['word_boundary'] = 1; $handler->display->display_options['fields']['title_3']['alter']['ellipsis'] = 1; $handler->display->display_options['fields']['title_3']['alter']['strip_tags'] = 0; $handler->display->display_options['fields']['title_3']['alter']['trim'] = 0; $handler->display->display_options['fields']['title_3']['alter']['html'] = 0; $handler->display->display_options['fields']['title_3']['element_label_colon'] = FALSE; $handler->display->display_options['fields']['title_3']['element_default_classes'] = 1; $handler->display->display_options['fields']['title_3']['hide_empty'] = 0; $handler->display->display_options['fields']['title_3']['empty_zero'] = 0; $handler->display->display_options['fields']['title_3']['hide_alter_empty'] = 0; $handler->display->display_options['fields']['title_3']['link_to_node'] = 1; /* Feld: Inhalt: Body */ $handler->display->display_options['fields']['body']['id'] = 'body'; $handler->display->display_options['fields']['body']['table'] = 'field_data_body'; $handler->display->display_options['fields']['body']['field'] = 'body'; $handler->display->display_options['fields']['body']['label'] = ''; $handler->display->display_options['fields']['body']['exclude'] = TRUE; $handler->display->display_options['fields']['body']['alter']['alter_text'] = 0; $handler->display->display_options['fields']['body']['alter']['make_link'] = 0; $handler->display->display_options['fields']['body']['alter']['absolute'] = 0; $handler->display->display_options['fields']['body']['alter']['external'] = 0; $handler->display->display_options['fields']['body']['alter']['replace_spaces'] = 0; $handler->display->display_options['fields']['body']['alter']['trim_whitespace'] = 0; $handler->display->display_options['fields']['body']['alter']['nl2br'] = 0; $handler->display->display_options['fields']['body']['alter']['word_boundary'] = 1; $handler->display->display_options['fields']['body']['alter']['ellipsis'] = 1; $handler->display->display_options['fields']['body']['alter']['strip_tags'] = 0; $handler->display->display_options['fields']['body']['alter']['trim'] = 0; $handler->display->display_options['fields']['body']['alter']['html'] = 0; $handler->display->display_options['fields']['body']['element_label_colon'] = FALSE; $handler->display->display_options['fields']['body']['element_default_classes'] = 1; $handler->display->display_options['fields']['body']['hide_empty'] = 0; $handler->display->display_options['fields']['body']['empty_zero'] = 0; $handler->display->display_options['fields']['body']['hide_alter_empty'] = 0; $handler->display->display_options['fields']['body']['field_api_classes'] = 0; /* Sort criterion: Inhalt: Post date */ $handler->display->display_options['sorts']['created']['id'] = 'created'; $handler->display->display_options['sorts']['created']['table'] = 'node'; $handler->display->display_options['sorts']['created']['field'] = 'created'; $handler->display->display_options['sorts']['created']['order'] = 'DESC'; /* Contextual filter: Inhalt: Nid */ $handler->display->display_options['arguments']['nid']['id'] = 'nid'; $handler->display->display_options['arguments']['nid']['table'] = 'node'; $handler->display->display_options['arguments']['nid']['field'] = 'nid'; $handler->display->display_options['arguments']['nid']['relationship'] = 'field_autor_nid'; $handler->display->display_options['arguments']['nid']['default_action'] = 'default'; $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'node'; $handler->display->display_options['arguments']['nid']['default_argument_skip_url'] = 0; $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0'; $handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary'; $handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25'; $handler->display->display_options['arguments']['nid']['break_phrase'] = 0; $handler->display->display_options['arguments']['nid']['not'] = 0; /* Filter criterion: Inhalt: Veröffentlicht */ $handler->display->display_options['filters']['status']['id'] = 'status'; $handler->display->display_options['filters']['status']['table'] = 'node'; $handler->display->display_options['filters']['status']['field'] = 'status'; $handler->display->display_options['filters']['status']['value'] = 1; $handler->display->display_options['filters']['status']['group'] = 0; $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; /* Filter criterion: Inhalt: Typ */ $handler->display->display_options['filters']['type']['id'] = 'type'; $handler->display->display_options['filters']['type']['table'] = 'node'; $handler->display->display_options['filters']['type']['field'] = 'type'; $handler->display->display_options['filters']['type']['value'] = array( 'termin' => 'termin', ); /* Display: Block */ $handler = $view->new_display('block', 'Block', 'block'); $translatables['termine_eines_autors'] = array( t('Master'), t('Termine eines Autors'), t('more'), t('Apply'), t('Zurücksetzen'), t('Sort by'), t('Asc'), t('Desc'), t('Items per page'), t('- All -'), t('Offset'), t('field_liest_ref'), t('field_autor'), t('field_buch'), t('Alles'), t('Block'), );