예를 들어

게시판 - (공지사항, 새 글, 주요 업무) 이렇게 상위 메뉴와 3개의 하위메뉴가 있습니다.

 

상위메뉴인 게시판을 클릭하면 페이지에 3개의 하위메뉴가 세로로 나열되는 형태로 만들고 싶은데

 

선택된 상위메뉴의 하위메뉴를 가져오는 함수가 있을까요??

  • profile

    레이아웃의 메뉴 부분의 코드를 살펴보세요. 단, 보통의 레이아웃에서 2차 메뉴는 클릭이 아닌 마우스오버시 펼쳐지게 구현됩니다. js 등으로 클릭 또는 마우스 오버시 작동하게 만드는 것이니 적적히 변형하셔야 할 것이구요.

     

    1,2차 모두 메뉴가 불러와져 있는 상태이고 마우스오버 또는 클릭시 가려져 있던 2차 메뉴가 보이는 방법을 사용합니다.

  • profile

    윗분말씀처럼 우선 메뉴를 가져오도록 만든다면 HTML에서 모든 메뉴가 노출된 상태로 나오도록 만듭니다.

     

    그런 상태에서 1차 메뉴에 이벤트로 클릭이 되어있는 상태가 된다면 1차메뉴에 selected 옵션이 켜집니다.

    이를 어느정도 이해할라면 PHP의 기본 반복문 문법부터 배우고 해당 부분 외우고 아래 설명보세요. 그리고 if 문도 마찬가지입니다.

    반복문을 다음과 같이 돌렸다면

    <!--@foreach($gnb->list as $key => $val)-->

    <!--@end-->

    이 반복문 안에서 $val 이라는 배열 속 selected 라는 키값이 속성이 부여되어있다면 해당 부분이 선택된것으로 간주합니다.

    따라서 해당 부분에 <!--@if($val['selected']--><!--@end--> 이런 조건일때 css속성을 안에 추가해주시면 되겠지요

    <!--@foreach($gnb->list as $key => $val)-->
    <li class="gnb-item <!--@if($val['selected']-->active<!--@end-->">
    </li>
    <!--@end-->

    이런식으로 1차메뉴 코드를 작성했다면 active 라는 클래스가 들어가있으면 해당 부분이 선택되었다는 거니까 css에서 해당 css가 선택되었을때 2차메뉴를 출력하도록 만들면됩니다.