Drupal 7: Menu Node API + Menu Node Views + Node Symlinks erfolgreich kombinieren (Snippet)

Problemstellung

Wenn ihr die 3 Module oberhalb in Kombination verwenden möchtet, um auf einer Übersichtsseite die Subnodes aus dem Menü anzuzeigen, könnt ihr leider nicht (wie ohne Node Symlinks) die View Beziehung "Menu: Node id" nutzen, da diese (fälschlicherweise) nur Nodes anzeigen würde, die unter allen Menü Links gleichzeitig existieren (Siehe meien Issue dazu: https://drupal.org/node/2128827).

Zielsetzung

Ziel unseres Snippets ist es also nur die Sub-Nodes der aktuell geöffneten Seite als View auszugeben!

Lösung

Verwendet als view Argument nicht "Menu: Node id", sondern "Menu: Parent menu link id" und das folgende Snippet als "Vorgabewert bereitstellen":

  1. // #webksde#JP2013-11-06 Use active trail because menu symlinks adds several mlids which menu_node_views can not handle directly (see <a href="https://drupal.org/node/2128827" title="https://drupal.org/node/2128827">https://drupal.org/node/2128827</a>)
  2. $active_trail = menu_get_active_trail();
  3. if(!empty($active_trail)){
  4.   $current = end($active_trail);
  5.   if(!empty($current) && !empty($current['mlid'])){
  6.       return $current['mlid'];
  7.   }
  8. }

Somit werden alle Subnodes des aktuell geöffneten Menüpunkts angezeigt!

Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.

Weitere Informationen über Formatierungsoptionen