[Tips] [레이아웃] 선택한 메뉴 출력하기 & 선택하지 않은 메뉴 (사이드바에) 출력하기
2015.12.10 02:36
69
0
https://eond.com/365740
object(HotopayModel)#817 (23) { ["error"]=> int(0) ["message"]=> string(7) "success" ["variables"]=> array(0) { } ["httpStatusCode"]=> int(200) ["module"]=> string(7) "hotopay" ["module_info"]=> NULL ["origin_module_info"]=> NULL ["module_config"]=> NULL ["module_path"]=> string(52) "/home/eond/web/eond.com/public_html/modules/hotopay/" ["xml_info"]=> NULL ["module_srl"]=> NULL ["mid"]=> NULL ["act"]=> NULL ["template_path"]=> NULL ["template_file"]=> NULL ["layout_path"]=> NULL ["layout_file"]=> NULL ["edited_layout_file"]=> NULL ["stop_proc"]=> bool(false) ["user"]=> object(Rhymix\Framework\Helpers\SessionHelper)#816 (20) { ["member_srl"]=> int(0) ["user_id"]=> NULL ["user_name"]=> NULL ["nick_name"]=> NULL ["email_address"]=> NULL ["phone_number"]=> NULL ["homepage"]=> NULL ["blog"]=> NULL ["birthday"]=> NULL ["denied"]=> NULL ["status"]=> NULL ["is_admin"]=> string(1) "N" ["is_site_admin"]=> NULL ["profile_image"]=> NULL ["image_name"]=> NULL ["image_mark"]=> NULL ["signature"]=> NULL ["description"]=> NULL ["group_list"]=> array(0) { } ["menu_list"]=> array(0) { } } ["request"]=> object(Rhymix\Framework\Request)#10 (13) { ["method"]=> string(3) "GET" ["compat_method"]=> string(3) "GET" ["url"]=> string(17) "xe/365740/page/24" ["hostname"]=> string(8) "eond.com" ["domain"]=> NULL ["protocol"]=> string(5) "https" ["callback_function"]=> string(0) "" ["_route_status":protected]=> int(200) ["_route_options":protected]=> object(stdClass)#11 (5) { ["cache_control"]=> bool(true) ["check_csrf"]=> bool(true) ["is_forwarded"]=> bool(false) ["is_indexable"]=> bool(true) ["enable_session"]=> bool(true) } ["module"]=> string(5) "board" ["mid"]=> string(2) "xe" ["act"]=> string(16) "dispBoardContent" ["args"]=> array(6) { ["category"]=> string(5) "35024" ["search_target"]=> string(9) "nick_name" ["document_srl"]=> string(6) "365740" ["page"]=> int(1) ["mid"]=> string(2) "xe" ["act"]=> string(16) "dispBoardContent" } } ["ajaxRequestMethod"]=> array(2) { [0]=> string(6) "XMLRPC" [1]=> string(4) "JSON" } ["gzhandler_enable"]=> bool(true) }

사이드메뉴(SNB, SideNavigationBar)를 출력할 때 일반적으로 아래와 같은 코드를 사용합니다.

<!-- LNB -->
<nav cond="$_selected_menu['list'] && $layout_info->layout_type === 'sub' && $layout_info->sidebar_position !== 'none'" class="lnb">
   <ul>
      <li loop="$_selected_menu['list'] => $key1, $val1" class="on"|cond="$val1['selected']">
         <a href="{$val1['href']}" target="_blank"|cond="$val1['open_window'] == 'Y'">{$val1['link']}</a>
         <ul cond="$val1['list']">
            <li loop="$val1['list'] => $key2, $val2" class="on"|cond="$val2['selected']">
               <a href="{$val2['href']}" target="_blank"|cond="$val2['open_window'] == 'Y'">{$val2['link']}</a>
            </li>
         </ul>
      </li>
   </ul>
</nav>
<!-- /LNB -->

소스출처 : xedition 레이아웃

 

$_selected_menu['list']

이 부분입니다. 일반적으로 사이드메뉴 출력에서 사용되며, 현재 선택한 메뉴의 서브 메뉴를 출력할 때 사용되곤 합니다.

그런데 사이트를 만들다보면 기본 메뉴 외에 푸터 메뉴나 퀵메뉴 등도 있는데요, 이러한 기본 메뉴 외의 메뉴를 사이드바 영역에 출력하고자할 때 사용합니다.

 

<nav cond="!$_selected_menu['selected'] && $layout_info->layout_type === 'sub' && $layout_info->sidebar_position !== 'none'" class="lnb">
   <ul>
      <li loop="$FNB->list => $key1, $val1" class="on"|cond="$val1['selected']">
      {@$i++}
         <a href="{$val1['href']}" target="_blank"|cond="$val1['open_window'] == 'Y'">{$val1['link']}</a>
         <ul cond="$val1['list']">
            <li loop="$val1['list'] => $key2, $val2" class="on"|cond="$val2['selected']">
               <a href="{$val2['href']}" target="_blank"|cond="$val2['open_window'] == 'Y'">{$val2['link']}</a>
            </li>
         </ul>
      </li>
   </ul>
</nav>

바로 위에 사용된 코드 앞에 ! (느낌표) 코드를 추가하여 현재 기본 메뉴에서 선택된 메뉴 화면에서는 출력하지 않으며

기본 메뉴 외의 메뉴를 선택한 화면에서만 출력하는 코드입니다.

 

원래는 이런 걸 만들려고 한게 아니라, 푸터 메뉴를 선택했을 때 출력하는 메뉴를 만들려고 했는데

잘 몰라서 해보다가 그냥 선택한 메뉴 출력/선택하지 않은 메뉴 출력하기로 만들어보았습니다.

라이믹스는 이온디와 함께

닫기

마이페이지

로그인을 해주세요

네이버로 로그인