2009-11-13 5 views
0

기존 배열 코드 :기존 배열을 가져와 하위 메뉴를 추가하려면 어떻게합니까?

function get_menu($menu = array(), $ulclass = '', $is_main_menu = false) { 
    global $menu_selected; 
    $output = ''; 
    if (empty($menu)) { 
     return $output; 
    } 

    $output .= '<ul' . (!empty($ulclass) ? (' class="' . $ulclass . '"') : '') . '>'; 
    foreach($menu as $item) { 
     if (!$is_main_menu || !isset($item['hide_in_main']) || !$item['hide_in_main']) { 
      $li_class = (isset($item['sub']) && !empty($item['href']) ? ('dir') : ''); 
      if (isset($menu_selected) && !empty($menu_selected) && $menu_selected == $item['href']) { 
       $li_class = (!empty($li_class)) ? $li_class . ' selected' : 'selected'; 
      } 
      if (isset($item['li_class']) && !empty($item['li_class'])) { 
       $li_class .= (!empty($li_class)) ? ' ' . $item['li_class'] : $item['li_class']; 
      } 
      $output .= '<li' . (!empty($li_class) ? ' class="' . $li_class . '"': '') . '>'; 
      $output .= '<a'; 
      if (isset($item['href']) && !empty($item['href'])) { 
       $output .= ' href="' . $item['href'] .'"'; 
      } 
      if (isset($item['title']) && !empty($item['title'])) { 
       $output .= ' title="' . $item['title'] .'"'; 
      } 
      if (isset($item['class']) && !empty($item['class'])) { 
       $output .= ' class="' . $item['class'] .'"'; 
      } 
      if (isset($item['target']) && !empty($item['target'])) { 
       $output .= ' target="' . $item['target'] .'"'; 
      } 
      $output .= '>'; 
      if (isset($item['title']) && !empty($item['title'])) { 
       $output .= $item['title']; 
      } else if (isset($item['href']) && !empty($item['href'])) { 
       $output .= $item['href']; 
      } 
      $output .= '</a>'; 
      if (isset($item['sub']) && !empty($item['sub'])) { 
       $output .= get_menu($item['sub'], $ulclass); 
      } 
      $output .= '</li>'; 
     } 
    } 
    $output .= '</ul>'; 
    return $output; 
} 

기존 배열 : 나는 하위 메뉴를 추가 할

$menu[] = array(
    'title' => 'Home', 
    'href' => 'index.php' 
); 
$menu[] = array(
    'title' => 'Summer Activites', 
    'href' => 'activities.php' 
); 
$menu[] = array(
    'title' => 'Winter Activities', 
    'href' => 'wactivities.php' 
); 
$menu[] = array(
    'title' => 'Image Gallery', 
    'href' => 'gallery.php' 
); 

예 : 여름 활동과 겨울 활동은 부모 활동에서 하위 메뉴 항목 될 것

도움이 될 것입니다. 미리 감사드립니다.

답변

1

실제로이 작업을 시도했거나 게으르다 고 생각하십니까?

연습이 완벽합니다.

1
$menu[] = array(
    'title' => 'Activities', 
    'sub' => array(
     array(
      'title' => 'Summer Activites', 
      'href' => 'activities.php'), 
     array(
      'title' => 'Winter Activities', 
      'href' => 'wactivities.php') 
     ) 
    ) 
); 

같은이 해야 일을 찾습니다.

+0

재귀 함수 호출을 추가하려고했는지. 아무 래도 나는 이미 그곳에 있다는 것을 놓쳤다. –

+0

서브가 그것의 일부라고 생각했지만, 아주 옳지 않은 무언가가있었습니다 (하나의 여분의 닫는 괄호가있었습니다). 코딩에 배경이 없으므로 여기에 정말 날개를 달고 있습니다. 그것은 오류가 아니지만 하위 항목이 표시되지 않습니다. 나는 그것이 가까운 soooo 다라고 생각한다. 그리고 도마뱀에 반응하기 위해, 나는 이것을 알아 내려고 노력해 왔지만 내 영역은 인쇄물 디자인이다. 나는 친구를 돕기 위해 이것을하고있다. 코딩에 대한 지식이 없으므로 나는 그것을 알아 내기 위해 저주를합니다. 사이트의 나머지 부분을 알아 냈습니다.이 부분이 아닙니다. 나는 내가 얻을 수있는 어떤 도움에 대해서도 감사하고있다. – Chase

관련 문제