Skip to main content
XE 팁
2010.11.28 16:45

xpressengine 메뉴 분석

조회 수 14412 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

레이아웃을 만들다가... 메뉴 1차... 2차... 3차... 4차... 분석에 들어갔다.


원리는 아래와 같다~ ^^


<ul>
<!--@foreach($main_menu->list as $key => $val1)-->
<li><span>{$val1['text']}</span>
    <ul>
        <!--@if($val1['list'])-->
        <!--@foreach($val1['list'] as $key => $val2)-->
            <li>{$val2['text']}</li>
            <ul>
            <!--@if($val2['list'])-->
            <!--@foreach($val2['list'] as $key => $val3)-->
                <li>{$val3['text']}</li>
                <ul>
                <!--@if($val3['list'])-->
                <!--@foreach($val3['list'] as $key => $val4)-->
                    <li>{$val4['text']}</li>
                        <ul>
                        <!--@if($val4['list'])-->
                        <!--@foreach($val4['list'] as $key => $val5)-->
                            <li>{$val5['text']}</li>
                        <!--@end-->
                        <!--@end-->
                        </ul>
                <!--@end-->
                <!--@end-->
                </ul>
            <!--@end-->
            <!--@end-->
            </ul>
        <!--@end-->
        <!--@end-->
    </ul>
</li>
<!--@end-->
</ul>

위의 구조를 보니... 먼가 반복되고 있다는 생각이 들지 않는가?

메뉴를 부를때 맨 처음 $main_menu->list 에서 시작~


$val1['list'] 있으면 배열이 있다는 이야기로 foreach 구문으로 뽑아는 구조이다~


위의 소스는 그냥 단순히 메뉴를 출력만 해주는 기능일 뿐이다~ (sitemap 만들때 쓰면 되겠군요^^)



실제 메뉴는 링크가 있는지 없는지를 구분하고 

링크가 있을경우 선택되었는지 안되었는지를 구분하는 

소스가 추가 되어야 하겠다~




왼쪽 메뉴 출력방법은 아래와 같다. 방법은 위와 비슷하지만...

$menu_1st 변수 선언을 해서... 선택된 메뉴가 있는 쪽만 출력하는 것이다~ OK?


 <h2>{$menu_1st['text']}</h2>
<!--@if($menu_1st)-->
<ul>
    {@ $idx = 1 }
    <!--@foreach($menu_1st['list'] as $key => $val_1st)-->
        <li <!--@if($val_1st['selected'])-->class="on"<!--@end-->><a href="{$val_1st['href']}" <!--@if($val_1st['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$val_1st['text']}</a>
            <!--@if($val_1st['list'])-->
                <ul>
                    <!--@foreach($val_1st['list'] as $key => $val_2st)-->
                        <li <!--@if($val_2st['selected'])-->class="on"<!--@end-->><a href="{$val_2st['href']}" <!--@if($val_2st['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$val_2st['text']}</a></li>
                    <!--@end-->
                </ul>
            <!--@end-->
        </li>
        {@$idx++}
    <!--@end-->
</ul>
<!--@end-->





TAG •

List of Articles
번호 카테고리 제목 글쓴이 날짜 조회 수
36 XE 팁 XE CKEditor 옵션 설정 (i 태그 유지하기) geusgod 2015.06.09 205005
35 XE 팁 XE 비밀번호 찾기 질문/답변 필수 제거하기 geusgod 2014.07.11 2556
34 XE 팁 XE 외부페이지 이미지 리사이즈 애드온 적용하는 방법 geusgod 2013.11.07 4816
33 XE 팁 XE 구글 analytics 코드 어디에 넣어야 효율적인가? geusgod 2013.07.29 5213
32 XE 팁 XE 외부페이지 javascript 주석 처리시 주의점 geusgod 2013.03.18 5619
31 XE 팁 XE 외부링크 이미지 썸네일 생성 문제 1 geusgod 2012.06.29 10853
30 XE 팁 xe 1.6.0 업그레이드를 위한 준비 geusgod 2012.06.28 8611
29 XE 팁 xe 외부페이지 mid 중복일때 다음페이지로 넘기는 방법 geusgod 2012.05.27 6714
28 XE 팁 SocialXE Server - Facebook 인증불가시 (에러발생시) file geusgod 2011.12.16 11045
27 XE 팁 XE Action Forward 와 Module Trigger 정리하기 종스 2011.11.01 11229
26 XE 팁 XE 버튼 관련 샘플 종스 2011.10.24 8316
25 XE 팁 Xpressengine 스팸 API 골라서 적용하자~ geusgod 2011.06.28 10699
24 XE 팁 Xpressengine 속도 향상 방법론 (트리거 제거론) 종스 2011.06.05 10532
23 XE 팁 XE 외부페이지 세션변수 및 logged_info 변수 활용 3 종스 2011.01.01 16711
22 XE 팁 Xpressengine 일반 함수들 종스 2010.12.31 14164
21 XE 팁 Xpressengine 외부페이지 에디터 사용법 geusgod 2010.12.06 13947
» XE 팁 xpressengine 메뉴 분석 geusgod 2010.11.28 14412
19 XE 팁 xpressengine 스킨 파일에서 DB내용 불어오기! 종스 2010.11.23 13227
18 XE 팁 Xpressengine 외부페이지 폼 변수 전달하고 받는 방법 종스 2010.06.03 18412
17 XE 팁 XE 디버그(debug) 하는 방법 geusgod 2010.02.26 26378
Board Pagination Prev 1 2 Next
/ 2