Term aus einem Hierarchie-Vokabular und aus einem bestimmten Hierarchie-Level in Node.tpl.php ausgeben
am 03.10.2010 - 12:14 Uhr in
Hallo,
ich nutze ein Hierarchie-Vokabular, das eigentlich nur aus 2 Leveln besteht (Parent/ Child). Ich würde nun gerne die Begriffe dieses Vokabulars in der Node.tpl.php einzeln benutzen. Der Elternbegriff soll an einer Stelle stehen, der dazugehörige Kindbegriff soll an einer anderen stelle stehen. Kann mir jemand sagen, wie ich das hinbekomme? Meine PHP-Kenntnisse reichen dazu leider nicht aus.
Folgende Bausteine habe ich:
$terms = taxonomy_node_get_terms_by_vocabulary($node, $vid);
Gibt folgendes Array aus:
Array
(
[72] => stdClass Object
(
[tid] => 72
[vid] => 1
[name] => Kleidung
[description] =>
[weight] => 10
)
[91] => stdClass Object
(
[tid] => 91
[vid] => 1
[name] => Schuhe
[description] =>
[weight] => 11
)
)
Ich weiß ja nun, dass der erste Begriff das Elternelement ist, aber wie kriege ich das in PHP hinein? Ich dachte an
$tree = taxonomy_get_tree($vid, 0, 1, NULL);
aber da hören meine PHP-Kenntnisse auch schon auf... denn diese Funktion gibt mir alle Begriffe des Vokabulars mit der vid = 1 aus. Doch wie kann ich diese beiden nun zusammenbringen? Ist das überhaupt der richtige Weg??? Ich wäre Euch wirklich sehr dankbar, wenn ihr mir da weiterhelfen könntet.
Viele Grüße
Tobias
- Anmelden oder Registrieren um Kommentare zu schreiben
Hat jemand vielleicht doch
am 05.10.2010 - 12:38 Uhr
Hat jemand vielleicht doch noch eine Idee? :)
Was heisst Zitat: t, aber
am 05.10.2010 - 13:27 Uhr
Was heisst
t, aber wie kriege ich das in PHP hinein?
ist doch schon php ???
Ja sicher ist das schon
am 07.10.2010 - 09:07 Uhr
Ja sicher ist das schon PHP... aber wie bekomme ich es nun hin, dass mir ein Mal der Eltern-Tag und einmal das Kind-Tag angezeigt wird?
Nimm eine foreach-Schleife
am 07.10.2010 - 10:44 Uhr
Nimm eine foreach-Schleife und lass zusätzlich einen Zähler mitlaufen. Damit solltest Du leicht unterscheiden können, ob Du den ersten oder den zweiten Wert im Zugriff hast.
Beste Grüße
Werner
Ist das denn sicher, dass der
am 07.10.2010 - 11:31 Uhr
Ist das denn sicher, dass der erste Wert auch immer das Eltern-Tag ist???
Also natürlich ist das jetzt
am 28.10.2010 - 20:09 Uhr
Also natürlich ist das jetzt Zufall gewesen, dass der erste term ein Elternbegriff war. Hat niemand eine Idee, wie ich in einer node.tpl.php ein Mal einen Elternbegriff und einmal einen Kindbegriff ausgeben kann, mit denen der jeweilige Inhalt ausgestattet ist?
Parent Term in in Node.tpl.php ausgeben
am 28.10.2010 - 20:32 Uhr
Also ich habe das jetzt so gemacht, vielleicht kann mir ein PHP- und Drupalfachmann mal sagen, ob das so ok ist?!
<?php
$begriffe = $node->taxonomy;
foreach ($begriffe as $term){
if($term->vid == 1) {
$parent = taxonomy_get_parents($term->tid, $key = 'tid');
if (!empty($parent)) {
$child = $term->name;
foreach ($parent as $parentterm) {
$parentname = $parentterm->name;
}
}
}
}
print 'Child: '. $child .'<br />';
print 'Parent: '. $parentname;
?>
Da ich weiß, dass die Kind-Begriffe immer nur einen Elternbegriff haben, müsste das doch so in Ordnung sein, oder?