it-swarm.com.de

D7 - So erhalten Sie den mlid-Wert aus dem Pfad des Menüelements

Schnelle Frage. So erhalten Sie den mlid-Wert aus dem Pfad des Menüelements. Es gibt eine Funktion namens menu_link_load (), die jedoch einen mlid-Wert erfordert, aber ich benötige genau dieselbe Funktion mit path.

5
David

Hierfür gibt es keine eingebaute Funktion. Sie können menu_tree_all_data () verwenden, es wird jedoch das gesamte Menü zurückgegeben. Danach können Sie Ihren Pfad in Schleifen mit den wiederkehrenden Pfaden vergleichen. Aber es gibt eine bessere und einfachere Antwort. Hier ist es:

$mlid = array();
$q = 'your-path';
$menu_info = db_select('menu_links' , 'ml')
  ->condition('ml.link_path' , $q)
  ->fields('ml', array('mlid', 'plid'))
  ->execute()
  ->fetchAll();

foreach($menu_info as $key => $value) {
  $mlid[] = $menu_info[$key]->mlid;
}
6
David