Parent MenuItem Title von Node
am 13.04.2014 - 13:01 Uhr in
Hallo.
Ich habe eine Ausgabe von Teasern. Ich mache dies nicht per Views, sondern es handelt sich um "Reference Fields" vom Type Node.
Sprich innerhalb eines Nodes werden 3 weitere Nodes per ReferenceField ausgegeben. (Display: "Anrisstext")
Innerhalb der node.tpl jener 3 Nodevorschaun möchte ich jetzt auf den jeweiligen Menuitem Parent zugreifen. Um es nochmal zu verdeutlichen:
Ich möchte nicht das ParentMenuItem des aktiven Nodes ausgeben, deshalb gibt mir "menu_get_active_trail()" auch hier falsche Werte - nämlich die Menustruktur des aktiven Nodes - aber nicht jene der jeweiligen Teaser.
So ist jenes Script auch nicht nutzbar:
<?php
$menuParent = menu_get_active_trail();
//get rid of the last item in the array as it is the current page
$menuParentPop = array_pop($menuParent);
//Just grab the last item in the array now
$menuParent = end($menuParent);
//if it is not the home page and it is not an empty array
if(!empty($menuParent) && $menuParent['link_path'] != ''){
print $menuParent['title'];
} else{
print $title;
}
?>
Keine Ahnung hab jetzt echt dutzende Möglichkeiten durchprobiert. Irgendwie bleib ich immer auf dem aktivem Menu hängen, anstelle die Menüstruktur des jeweiligen Nodes zu bekommen.
Um nochmals Missverständnisse zu vermeiden. Ich bräuchte theoretisch folgende Funktionalität:
getParentMenuItemOfNodeWithId($nid);
Oder anders gesagt. Ausgabe eines Breadcrumbs innerhalb eines Anrisstextes.
Hoffe jemand kennt einen Ansatz. Würde ungern die komplette interne Struktur sammt Content neu aufsetzen müssen nur weil ein Parent Menu Item Title dazukommt, was mich dazu zwingt es in Views zu machen.
Gruss
- Anmelden oder Registrieren um Kommentare zu schreiben
Das kann es nicht geben. Da
am 13.04.2014 - 13:51 Uhr
Das kann es nicht geben. Da Du einen Node problemlos in diverse Menüs einhängen kannst, ist ein Node nicht mit einem Menü-Eintrag verheiratet. Allenfalls hast Du für Deine Nodes ein spezielles Pfadmuster definiert, aber das sagt immer noch nichts über Menüzugehörigkeit aus.
Drupal hat keine durchgehende hierarchische Menüstruktur, das ist eben genau eine seiner Eigenheiten. Damit mußt Du leben. Damit man Breadcrumbs trotzdem passend setzen kann, gibt es Module, die über Regeln den Menüpfad für die Breadcrumbs nachbauen. Vor dem gleichen Problem stehst Du in Deinem Fall. Du mußt Dir Regeln überlegen, wie Du die entsprechenden übergeordneten Menüpunkte ermittelst. Das ist nicht unbedingt trivial.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Naja. Da ich nur eine
am 13.04.2014 - 14:22 Uhr
Naja. Da ich nur eine Menüstruktur habe, und ich nicht alles verkomplizieren möchte.
Et voila:
function getTokenInfoByNid($token_str, $nid, $str_default = ""){
$return = $str_default;
$token_val = token_replace($token_str, array('node' => node_load($nid)));
if($token_val != $token_str && $token_val != ""){
$return = $token_val;
}
return $return;
}
$parent_menu_item_title = getTokenInfoByNid('[node:menu-link:parent:title]', $node->nid);
Man nehme Tokens.
Cheers