Anzeige von bestimten Taxonomy in Views!
Eingetragen von byronic (195)
am 30.11.2010 - 17:28 Uhr in
am 30.11.2010 - 17:28 Uhr in
Ich hab hier ein mehrstufiges Taxonomy, mit mehreren Unterebenen:
Beispiel: Autos->Audi,Bmw,Opel->Kadet,Astra->3Türer,5Türer.
Wie schaff ich es dass ich in der View nur die Taxonomys ab der Ebene 2 oder nur bestimmte Ebenen, Anzeigen lassen kann.
Sprich nur Opel,Astra,5Türer, und nicht komplett alles, da er mir zur Zeit Autos,Astra.... anzeigt.
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich stand vor einiger Zeit
am 30.11.2010 - 19:08 Uhr
Ich stand vor einiger Zeit vor dem gleichen Problem. Es gibt einige Module, die hier helfen sollten:
http://drupal.org/project/views_tree
http://drupal.org/project/index
http://drupal.org/project/vocabindex
http://drupal.org/project/taxonomy_menu
Wirklich geholfen hat mir dann aber ein selbst angelegter Block mit ein bissel PHP-Code, der mir die entsprechenden Terms des Vocabularies je nach Parent-Term ausliest..
Hierzu habe ich die Funktion taxonomy_get_tree - http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/func... - verwendet.
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Ju danke, aber ich mein jetzt
am 30.11.2010 - 23:14 Uhr
Ju danke, aber ich mein jetzt nicht die art etwas zu suchen oder aufzulisten. Was ich meine ist ein Feld! Normalerweise kann mann dort nur alle Taxonomys anzeigen.
byronic schriebJu danke,
am 01.12.2010 - 08:46 Uhr
Ju danke, aber ich mein jetzt nicht die art etwas zu suchen oder aufzulisten. Was ich meine ist ein Feld! Normalerweise kann mann dort nur alle Taxonomys anzeigen.
Die Funktion taxonomy_get_tree bietet dir genau diese Möglichkeit - hier kannst du eine Parent TermId übergeben und bekommst die zugeordneten Terms ..
Codebeispiel:
<?php
$vid = 5; // Vocabulary ID
$parent = 0;
if(is_numeric( arg(2) )){
$parent= arg(2); // URL der Form /taxonomy/term/123
}
$list .= '<ul>';
$taxo_tree = taxonomy_get_tree($vid,$parent,-1,1);
foreach($taxo_tree as $taxon) {
$list .= '<li>';
$list .= l( $taxon->name, 'taxonomy/term/'.$taxon->tid );
$list .= '</li>';
}
$list .= '</ul>';
print $list;
?>
Gruß,
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Gut, aber hier listet er mir
am 02.12.2010 - 01:03 Uhr
Gut, aber hier listet er mir doch alle Terms eine Vokabulars auf oder? Auch diese die gar nicht zu der Node gehören.
Lies dir bitte noch einmal
am 02.12.2010 - 08:25 Uhr
Lies dir bitte noch einmal deine Frage vom Anfang durch - du wolltest doch eigentlich die Terms hierachisch ausgelesen bekommen. ( auch der Link zur Drupal API erklärt noch einmal die Funktionsweise von taxonomy_get_tree..
Term 01
-- Term 01 01
---- Term 01 01 01
---- Term 01 01 02
-- Term 01 02
---- Term 01 02 01
---- Term 01 02 02
-- Term 01 02
-- Term 01 03
-- Term 01 04
Genau dies tut mein Codeschnippsel - das Argument ( also die ParentId des Terms ) bekommt man über die URL - arg(2) - mit diesem Argument könntest du dann natürlich auch eine View steuern, die dir die entsprechenden Einträge ausliest.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Ich glaub da haben wir uns
am 02.12.2010 - 17:54 Uhr
Ich glaub da haben wir uns missverstanden. Also ich hab ne View dort werden mir nodes angezeigt. Jetzt habe ich ein Feld in dem die Terms der Nodes angezeigt werden soll. Hirarchisch ab einer bestimten Ebene. z.B hat mein node Die Terms:
Autos->BMW->3er->Coupe->325er
Jetzt möchte ich aber, dass er mir nur "3er, Coupe,325er" anzeigt.
Dann müsstest du deinem View
am 02.12.2010 - 19:29 Uhr
Dann müsstest du deinem View die Term-Id als Argument übergeben - damit kannst du die Ergebnismenge einschränken..
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.