Drupal için alternatif menu çağırma fonksiyonu

Biraz gereksiz gibi gözükse de aşağıdaki fonksiyon bazı durumlarda hayatınızı kurtarabilir.

Menu id'si verilerek tüm menunun html çıktısını ekrana bastıran kod aşağıdaki gibidir.

 

  1.  
  2. function get_the_menu($menu_id)
  3. {
  4. $menu_code = '<div class="left_menu">
  5. <div class="menu_title">';
  6.  
  7. $menu_array = menu_get_item($menu_id);
  8. $menu_title = $menu_array['title'];
  9. $menu_code .= $menu_title;
  10.  
  11. $menu_code .= '</div>
  12. <div class="menu_items">
  13. <ul>';
  14.  
  15.  
  16. $menu_tree = menu_overview_tree_rows($menu_id);
  17.  
  18. //echo var_dump($menu_tree);
  19.  
  20. foreach ($menu_tree as $value)
  21. {
  22. $start = strpos($value[2]["data"],"edit/")+5;
  23. $end = strpos($value[2]["data"],'">')-$start;
  24.  
  25. //echo "<br>end:".$end;
  26. $mid = substr($value[2]["data"],$start,$end);
  27. $if_child = menu_get_item($mid);
  28.  
  29.  
  30. //echo "<br>mid=".$mid;
  31.  
  32. //echo "<br>baslangic:".var_dump($if_child);
  33.  
  34. $child_title = $value[0]["data"];
  35.  
  36. $menu_code .= '<li>';
  37.  
  38. if($if_child['children'])
  39. {
  40. $menu_code.= "<div class=\"parent_item\">";
  41. }
  42.  
  43. $menu_code .= $child_title;
  44.  
  45. if($if_child['children'])
  46. {
  47. $menu_code .= "</div>";
  48. }
  49.  
  50. $menu_code .= '</li>';
  51. }
  52. $menu_code .= '</div>
  53. </div>';
  54.  
  55.  
  56. return $menu_code;
  57. }

EkBoyut
drupal_menu_creator.rar532 byte

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
 .