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. Wenn Sie ein zulässiges Avatar mit Ihrer E-Mail-Adresse verknüpft haben, wird dieses als Avatar verwendet.

Weitere Informationen über Formatierungsoptionen

Aktualisieren Geben Sie die Zeichen ein, die Sie im Bild sehen. Geben Sie die im Bild dargestellten Zeichen ein; wenn Sie diese nicht lesen können, senden Sie das Formular ohne Eingabe ab, um ein neues Bild zu generieren. Groß-/Kleinschreibung wird nicht beachtet.  Switch to audio verification.