Q&A

2차 메뉴가 없을땐 위젯출력 하는 조건문 구성은 어떻게 되나요?

2022.08.30 18:16
1,418
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.4
문제 페이지 주소 비공개 (작성 후 5일 경과)

레이아웃 사이드 부분에  위젯이나 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

 

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

댓글 6

  • 2022.08.30 23:54 #1706505

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

  • 2022.08.31 02:42 #1706515

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

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

     

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

     

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

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

  • 2022.08.31 02:54 #1706524
    예를 들어

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

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

     

    <!--// 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차 메뉴 밑에 하위메뉴가 없다는 뜻이 되겠네요.

     

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

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