leerer taxonomy view mit related nodes anzeigen

am 17.09.2010 - 16:52 Uhr in
Hallo,
vielen Dank an die tolle Community hier ich habe schon viele hilfreiche Informationen gefunden aber jetzt komme ich leider nicht mehr weiter. Ich habe auch auf drupal.org nach einer Lösung gesucht aber mein Problem ist, mein Englisch ist leider nicht das beste.
Zu meinem Problem:
Ich habe einen View der mir über verschiedene taxonomy Begriffe nodes ausgibt. das klappt auch wunderbar. Nun kann es aber vorkommen, dass in einem taxonomy Begriff zur Zeit kein Inhalt vorhanden ist. Bisher habe ich dann über “leerer text“ im View angegeben, dass der Benutzer bitte die Suchfunktion nutzen möchte.
Jetzt möchte ich aber gern dass wenn ein taxonomy Begriff leer ist, dass dann relevante nodes angezeigt werden.
Auf drupal.org habe ich folgendes gefunden:
Ich habe einen zweiten view erstellt mit den top20 nodes
Unter „leerer Text“ habe ich folgendes eingegeben:
<?php
print views_embed_view('your_view', $display_id = 'your_display');
?>
Ist jetzt ein Taxonomy Begriff (view) leer so werden mir jetzt schon mal die top 20 angezeigt.
Nur wie schaffe ich es jetzt das wirklich auch relevante Nodes angezeigt werden.
Vermutlich mit Argumenten oder? Mein Problem ist nur das ich in php noch nicht firm bin.
So ich hoffe ich habe das Problem halbwegs verständlich geschildert fällt mir nicht so leicht.
Über Unterstützung von Euch würde ich mich sehr freuen
Liebe grüße
hasel
- Anmelden oder Registrieren um Kommentare zu schreiben
Das kann noch sogar noch
am 17.09.2010 - 17:07 Uhr
Das kann sogar noch erweitert werden:
<?php
print views_embed_view('your_view', $display_id = 'your_display', arg1, arg2, .......);
?>
Wodurch sind denn Deine relevanten Nodes bestimmt, wenn nicht durch die Taxonomie? Einfach dazu einen eigenen View bauen und evtl Argumente benutzen. Argumente sind wie Filter. Dein Problem wird sein, wie Du an die Argumente kommst, wenn Deine Taxonomie nicht wirkt.
Beste Grüße
Werner
danke Dir für die schnelle
am 17.09.2010 - 17:16 Uhr
danke Dir für die schnelle Antwort,
ich habe auf dieser Seite was gefunden:
comm-press
das klappt auch wunderbar allerdings werden die relevanten nodes nur auf der node Ansicht angezeigt und nicht bei der taxonomy.
Ich glaube ich stehe etwas auf der Leitung und vermische da jetzt irgendwas oder?
hasel
ich nochmal habe die Hälfte
am 17.09.2010 - 17:45 Uhr
ich nochmal habe die Hälfte vergessen,
doch meine nodes sind ja über die taxonomy kategorisiert.
Mein view sieht jetzt so aus:
$view = new view;
$view->name = 'related_taxonomy_nodes';
$view->description = 'Related Taxonomy Nodes';
$view->tag = 'Related Taxonomy Nodes';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('fields', array(
'title' => array(
'label' => '',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 1,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
'override' => array(
'button' => 'Übersteuern',
),
),
));
$handler->override_option('arguments', array(
'tid' => array(
'default_action' => 'default',
'style_plugin' => 'default_summary',
'style_options' => array(),
'wildcard' => 'all',
'wildcard_substitution' => 'Alle',
'title' => '',
'breadcrumb' => '',
'default_argument_type' => 'php',
'default_argument' => '',
'validate_type' => 'none',
'validate_fail' => 'not found',
'break_phrase' => 1,
'add_table' => 0,
'require_value' => 0,
'reduce_duplicates' => 1,
'set_breadcrumb' => 0,
'id' => 'tid',
'table' => 'term_node',
'field' => 'tid',
'validate_user_argument_type' => 'uid',
'validate_user_roles' => array(
'2' => 0,
'4' => 0,
),
'relationship' => 'none',
'default_options_div_prefix' => '',
'default_argument_fixed' => '',
'default_argument_user' => 0,
'default_argument_php' => '$node = node_load(arg(1));
if ($node && $node->taxonomy) {
foreach($node->taxonomy as $term) {
$terms[]=$term->tid;
}
return implode(\'+\',$terms);
} else {
return;
}',
'validate_argument_node_type' => array(
'webform' => 0,
'panel' => 0,
'buchtipps' => 0,
'em' => 0,
'empfehlung' => 0,
'gewinnspiel' => 0,
'gutscheine' => 0,
'page' => 0,
'saisonganzebreite' => 0,
'saisonlinks' => 0,
'saisonrechts' => 0,
'story' => 0,
),
'validate_argument_node_access' => 0,
'validate_argument_nid_type' => 'nid',
'validate_argument_vocabulary' => array(
'2' => 0,
'9' => 0,
'11' => 0,
'12' => 0,
),
'validate_argument_type' => 'tid',
'validate_argument_transform' => 0,
'validate_user_restrict_roles' => 0,
'validate_argument_php' => '',
'override' => array(
'button' => 'Übersteuern',
),
),
'nid' => array(
'default_action' => 'default',
'style_plugin' => 'default_summary',
'style_options' => array(),
'wildcard' => 'all',
'wildcard_substitution' => 'Alle',
'title' => '',
'breadcrumb' => '',
'default_argument_type' => 'node',
'default_argument' => '',
'validate_type' => 'none',
'validate_fail' => 'not found',
'break_phrase' => 0,
'not' => 1,
'id' => 'nid',
'table' => 'node',
'field' => 'nid',
'validate_user_argument_type' => 'uid',
'validate_user_roles' => array(
'2' => 0,
'4' => 0,
),
'relationship' => 'none',
'default_options_div_prefix' => '',
'default_argument_fixed' => '',
'default_argument_user' => 0,
'default_argument_php' => '',
'validate_argument_node_type' => array(
'webform' => 0,
'panel' => 0,
'buchtipps' => 0,
'em' => 0,
'empfehlung' => 0,
'gewinnspiel' => 0,
'gutscheine' => 0,
'page' => 0,
'saisonganzebreite' => 0,
'saisonlinks' => 0,
'saisonrechts' => 0,
'story' => 0,
),
'validate_argument_node_access' => 0,
'validate_argument_nid_type' => 'nid',
'validate_argument_vocabulary' => array(
'2' => 0,
'9' => 0,
'11' => 0,
'12' => 0,
),
'validate_argument_type' => 'tid',
'validate_argument_transform' => 0,
'validate_user_restrict_roles' => 0,
'validate_argument_php' => '',
),
));
$handler->override_option('filters', array(
'type' => array(
'operator' => 'in',
'value' => array(
'gutscheine' => 'gutscheine',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'type',
'table' => 'node',
'field' => 'type',
'relationship' => 'none',
),
'status' => array(
'operator' => '=',
'value' => '1',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'status',
'table' => 'node',
'field' => 'status',
'relationship' => 'none',
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('cache', array(
'type' => 'none',
));
$handler->override_option('title', 'Folgende Gutscheine könnten Sie auch interessieren:');
$handler->override_option('items_per_page', 6);
$handler->override_option('style_plugin', 'grid');
$handler->override_option('style_options', array(
'columns' => '2',
'alignment' => 'horizontal',
'fill_single_line' => 1,
));
$handler->override_option('row_plugin', 'node');
$handler->override_option('row_options', array(
'relationship' => 'none',
'build_mode' => 'teaser',
'links' => 0,
'comments' => 0,
));
$handler = $view->new_display('block', 'Block', 'block_1');
$handler->override_option('block_description', '');
$handler->override_option('block_caching', -1);
aber wenn ich den view jetzt so ausgebe:
<?php
print views_embed_view('related_taxonomy_nodes', $display_id = 'default');
?>
wird leider nichts angezeigt. Ich habe jetzt ja in dem view zwei argumente wie spreche ich diese denn jetzt an?
wenn ich es so mache wie du geschrieben hast
<?php
print views_embed_view('related_taxonomy_nodes', $display_id = 'default', arg1);
?>
wird leider auch nichts angezeigt. was ich noch vergessen habe ist das ich bei dem taxonomy view mit exposed filter arbeite.
Irgendwie verstehe ich das noch nicht
hasel
Du rufst doch einen neuen
am 17.09.2010 - 18:04 Uhr
Sorry, Duplikat
Beste Grüße
Werner
Du rufst doch einen neuen
am 17.09.2010 - 18:04 Uhr
Du rufst doch einen neuen View auf, der braucht doch nicht nach demselben Muster gestrickt zu sein, sondern darf ein total anderer View sein. Die beiden Views hängen nur dadurch zusammen, daß bei keinem Ergebnis der zweite aufgerufen wird.
Beste Grüße
Werner