사이드메뉴(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>
바로 위에 사용된 코드 앞에 ! (느낌표) 코드를 추가하여 현재 기본 메뉴에서 선택된 메뉴 화면에서는 출력하지 않으며
기본 메뉴 외의 메뉴를 선택한 화면에서만 출력하는 코드입니다.
원래는 이런 걸 만들려고 한게 아니라, 푸터 메뉴를 선택했을 때 출력하는 메뉴를 만들려고 했는데
잘 몰라서 해보다가 그냥 선택한 메뉴 출력/선택하지 않은 메뉴 출력하기로 만들어보았습니다.