Выпадающее меню с $menu_tree

#drupal-7

Вопрос:

Я пытаюсь отобразить меню с помощью Bootstrap 5, но я застрял на этой работе, я очень плохо разбираюсь в Drupal…

Простые ссылки в меню отлично работают, но в выпадающем списке есть проблема. Я попытался создать функцию, которая изменит рендеринг, если это выпадающее меню, но не будет работать должным образом

Вот мой код меню в html:

 lt;ul class="mb-2 mb-lg-0 me-lg-auto navbar-nav"gt;   lt;li class="nav-item"gt;   lt;a class="active nav-link px-lg-3 py-lg-4 text-light" aria-current="page" href="#"gt;Homelt;/agt;   lt;/ligt;   lt;li class="nav-item"gt;   lt;a class="nav-link px-lg-3 py-lg-4 text-light" href="#"gt;Onelt;/agt;   lt;/ligt;   lt;li class="nav-item"gt;   lt;a class="nav-link px-lg-3 py-lg-4 text-light" href="#"gt;Twolt;/agt;   lt;/ligt;   lt;li class="nav-item dropdown"gt;   lt;a class="dropdown-toggle nav-link px-lg-3 py-lg-4 text-light" href="#" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false"gt;Threelt;/agt;   lt;div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"gt;   lt;a class="dropdown-item" href="#"gt;Actionlt;/agt;   lt;a class="dropdown-item" href="#"gt;Another actionlt;/agt;   lt;a class="dropdown-item" href="#"gt;Something else herelt;/agt;   lt;/divgt;   lt;/ligt;   lt;li class="nav-item"gt;   lt;a class="nav-link px-lg-3 py-lg-4 text-light" href="#"gt;Fourlt;/agt;   lt;/ligt;  lt;/ulgt;  lt;div class="ms-lg-3"gt;  lt;a class="btn btn-outline-primary pe-3 ps-3" href="#"gt;Log inlt;/agt;  lt;a class="btn btn-primary pe-3 ps-3" href="#" style="background-color: #ee545d;"gt;Registerlt;/agt; lt;/divgt;   

template.php

 function render_menu_tree($menu_tree) {  print 'lt;ul class="mb-2 mb-lg-0 me-lg-auto navbar-nav"gt;';  foreach ($menu_tree as $link) {    print 'lt;li class="nav-item"gt;';  $link_path = '#';  $link_title = $link['link']['link_title'];  $target = "";    if($link['link']['link_path']) {  $link_path = base_path() . drupal_get_path_alias($link['link']['link_path']);   if($link['link']['link_path'] == 'lt;frontgt;'){  $link_path = "#43";  }   }   // detectar link externo  if( (strpos($link['link']['link_path'], "http://") !== false) ||  (strpos($link['link']['link_path'], "https://") !== false) ) {  $link_path = $link['link']['link_path'];  $target = " target='_blank'";  }   print 'lt;a class="nav-link px-lg-3 py-lg-4 text-light" href="' . $link_path . '"'.$target.'gt;' . mb_strtoupper($link_title) . 'lt;/agt;';  if(count($link['below']) gt; 0) {  render_menu_tree_sub($link['below']);  }   print 'lt;/ligt;';  }  print 'lt;/ulgt;'; }  function render_menu_tree_sub($menu_tree) {  print 'lt;li class="nav-item dropdown"gt;';  foreach ($menu_tree as $link) {    print 'lt;a class="dropdown-item"gt;';  $link_path = '#';  $link_title = $link['link']['link_title'];  $target = "";    if($link['link']['link_path']) {  $link_path = base_path() . drupal_get_path_alias($link['link']['link_path']);   if($link['link']['link_path'] == 'lt;frontgt;'){  $link_path = "#";  }   }   // detectar link externo  if( (strpos($link['link']['link_path'], "http://") !== false) ||  (strpos($link['link']['link_path'], "https://") !== false) ) {  $link_path = $link['link']['link_path'];  $target = " target='_blank'";  }   print 'lt;a class="nav-link px-lg-3 py-lg-4 text-light" href="' . $link_path . '"'.$target.'gt;' . mb_strtoupper($link_title) . 'lt;/agt;';  if(count($link['below']) gt; 0) {  render_menu_tree($link['below']);  }   print 'lt;/agt;';  }  print 'lt;/ligt;'; }  

page.tpl.php

 lt;div class="collapse navbar-collapse" id="navbarNavDropdown-4"gt;   lt;?php  $main_menu_tree = menu_tree_all_data('main-menu', null, 3);  render_menu_tree($main_menu_tree);  ?gt;  lt;/divgt;