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!

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.

More information about formatting options