Extra Form
PHP PHP 7.4
CMS Rhymix 2.0

레이아웃 사이드 부분에  위젯이나 html 문서를 2차메뉴가 있을땐 출력을 안하고 2차 메뉴가 없을땐 출력을 하게 만들고 싶습니다.

그래서 하위 메뉴코드아래 위젯이나 html 코드를 만들어넣어보려 합니다만 

메뉴 존재시 -> 메뉴출력 

출력할 메뉴가 없을때 -> 위젯이나 구성한 html 출력 ..

이렇게 구현 하려면만들어 추가할 위젯이나 html 의 구현코드의  XE 문법의 조건문 구성이 어떻게 되는지 문의 드립니다.

 

위젯 출력 2.jpg

위젯 출력 .jpg

이럴때  xe 문법의 php 문 (조건문?)  을 출력될 위젯이나 html 에 어떻게 구성하여야 실현 가능한지 질문을 드립니다.;;

 

레이아웃의 사이드 미들메뉴 출력부분 소스는 이렇거든요 

 

1
2
3
4
5
6
7
8
9
10
11
12
 
            <!--// LNB(2차 메뉴 사용 / 미사용 선택  costom info) -->
            <ul loop="$main_menu->list=>$key1,$val1" cond="$layout_info->lnb=='Y' && $val1['selected'] && $val1['list']" id="lnb" class="ui_font clear">
                <li loop="$val1['list']=>$key2,$val2" cond="$val2['link']">
                    <a class="lnb_2nd<!--@if($val2['selected'])--> on<!--@end-->" href="{$val2['href']}" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a>
                    <ul cond="$val2['list']">
                        <li loop="$val2['list']=>$key3,$val3" cond="$val3['link']"><a class="lnb_3rd<!--@if($val3['selected'])--> on<!--@end-->" href="{$val3['href']}" target="_blank"|cond="$val3['open_window']=='Y'">{$val3['link']}</a>
                        </li>
                    </ul>
                </li>
            </ul>            
            <!--// 스크롤 버튼 -->
cs

 

이 부분에 메뉴가 있을시는 메뉴를 출력하고 메뉴가 없을때만 출력하는 구성을 메뉴 코드 아래 추가하려 하거든요 이럴때 작성한 문서나 위젯을 출력하는 조건문 법을 어떻게 구성해야 하는지 질문을 드려요....

TAG •
  • profile

    두 번째 </ul> 뒷 부분에
    !$val2['list']
    같은 조건문을 적용해서 위젯 코드를 넣어주면 되지 않을까요?

  • profile profile

    답변 감사 드립니다 조금 이해가 안되는데 문법의 뜻을 배울수 있을까요 윤삼님?

    현제 메뉴에는 레이아웃 설정에서 on / off 를 선택 할수 있습니다만

     

    하위 메뉴가 없는 1차 메뉴 아래서 그 공간에 위젯이나 html 코드의 출력을 고려하고 있거든요 하위메뉴가 출력 될시는 위젯이나 코드가  none 처리 되구요

     

     사이드 공간의 메뉴가 없을때 활용을 위해서요 ;;;

    제가 php 문법엔 문맹이나 마찮가지 입니다 ^^;;

  • profile profile
    예를 들어

    !$val2['list']<p >위젯 코드 & html 코드 </p> 이런 식 인가요?
  • profile profile
    앗, 가만 보니 제가 드린 팁은 3차 메뉴 여부에 걸리는 거네요. 잠시만요...
  • profile profile

    직접 재연해보진 못했지만 대강 이런 식이 될 듯합니다.

     

    <!--// LNB(2차 메뉴 사용 / 미사용 선택  costom info) -->
    <!--@if($layout_info->lnb=='Y')--> // 레이아웃에서 lnb 설정을 했다면?
        <!--@foreach($main_menu->list as $val1)--> // 1차메뉴 리스트를 회전시켜봄
            <!--@if($val1['selected'])--> // 현재 열려 있는 페이지가 1차메뉴 계통에 걸려 있다면?
                <!--@if($val1['list'])--> // 그런데 그 1차 메뉴에 밑에 하위메뉴(즉, 2차메뉴)가 있다면?
                <ul id="lnb" class="ui_font clear">
                    <li loop="$val1['list']=>$key2,$val2" cond="$val2['link']">
                        <a class="lnb_2nd<!--@if($val2['selected'])--> on<!--@end-->" href="{$val2['href']}" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a>
                        <ul cond="$val2['list']">
                            <li loop="$val2['list']=>$key3,$val3" cond="$val3['link']">
                                <a class="lnb_3rd<!--@if($val3['selected'])--> on<!--@end-->" href="{$val3['href']}" target="_blank"|cond="$val3['open_window']=='Y'">{$val3['link']}</a>
                            </li>
                        </ul>
                    </li>
                </ul>
                <!--@else--> // 그게 아니라 1차 메뉴 밑에 하위메뉴가 없다면?
                **** 여기에 위젯 코드 넣으면 될 듯합니다.
                <!--@endif-->
                {@ break;} // 1차메뉴 리스트에서 출력할 건 다했고 회전을 할 필요가 없으므로 회전 중지
            <!--@endif-->
        <!--@endforeach-->
    <!--@endif-->

     

    여기서 $val1['list']이 1차 메뉴 밑에 하위 메뉴(2차 메뉴) 리스트가 있다는 뜻이고, !$val1['list']는 1차 메뉴 밑에 하위메뉴가 없다는 뜻이 되겠네요.

     

    덧. 사용하실 때에는 제가 직접 단 주석(// ~~~~ 부분)은 제거해주세요 :)

  • profile profile
    정말 감사드립니다 ^^ 주신 코드로 열공하여 꼭 성공하겠습니다 윤삼님 ^^ 좋은 날 쭉 되세요