Q&A

3차메뉴가 있을 경우에 3차메뉴가 출력되도록 하고 싶습니다.

2023.08.18 09:05
154
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

20230818_174134.png

순서대로 1차 / 2차 / 3차 메뉴입니다.

cond나 if 를 사용해서 (다른 방법도 있겠죠?) 2차메뉴까지만 있을 경우 3차메뉴 div 가 아예 출력이 안되도록, 3차메뉴가 있을 경우에만 출력되도록 하고 싶은데 이렇게도 해보고 저렇게도 해보고 했는데 도저히 모르겠습니다.

아래는 3차메뉴에 사용한 소스코드입니다.

도와주세요..

 

<div class="submenu">
<button type="button">
<block loop="$main_menu->list => $key1, $val1" cond="$val1['selected']">
<block loop="$val1['list'] => $key2, $val2" cond="$val2['selected']">
<block loop="$val2['list'] => $key3, $val3" cond="$val3['selected']">{$val3['link']}</block>
</block>
</block>
</button>
<div>
<!--@foreach($main_menu->list as $key1 => $val1)-->
<!--@if($val1['selected'])-->
<!--@foreach($val1['list'] as $key2 => $val2)-->
<!--@if($val2['selected'])-->
<ul>
<!--@foreach($val2['list'] as $key3 => $val3)-->
<li class="<!--@if($val3['selected'])-->active<!--@end-->">
<a href="{$val3['href']}">{$val3['text']}</a>
</li>
<!--@end-->
</ul>
<!--@end-->
<!--@end-->
<!--@end-->
<!--@end-->
</div>
</div>

 

댓글 5

  • 2023.08.18 09:59 #1781182
    https://xetown.com/questions/1745611#comment_1745621

    요 댓글 참고하시면 될것 같아요!
  • 2023.08.18 10:27 #1781186
    답변은 감사합니다만 봐도 모르겠네요..
  • 2023.08.19 05:55 #1781274
    div 안에 걸린 조건문을 밖으로 빼시면 됩니다.

    <!--@foreach($main_menu->list as $key1 => $val1)-->
    <!--@if($val1['selected'] && $val1['list'])-->
    <!--@foreach($val1['list'] as $key2 => $val2)-->
    <!--@if($val2['selected'] && $val2['list'])-->
    <!--@foreach($val2['list'] as $key3 => $val3)-->
    <div>
    <ul>
    <li class="<!--@if($val3['selected'])-->active<!--@end-->">
    <a href="{$val3['href']}">{$val3['text']}</a>
    </li>
    </ul>
    </div>
    <!--@end-->
    <!--@end-->
    <!--@end-->
    <!--@end-->
    <!--@end-->
  • 2023.08.19 09:32 #1781283

    답변 감사합니다. 그렇게 해도 결과는 똑같습니다.

    20230819_182722.png저는 이 빨간 테두리의 영역을 (우측에 화살표버튼 포함해서) 지금처럼 2차메뉴까지만 있을 때는 안보이게 하고 싶었던 건데 ...

    많이 어렵네요..

  • 2023.08.19 10:33 #1781297
    그건 본문에 적으신 코드와 다른 건데요. 1차 메뉴 부분으로 보이네요.
    똑같이 생각하시면 됩니다. if조건에 2차 메뉴가 있으면( $val1['list'] ), 3차 메뉴가 있으면 ( $val2['list'] ) 으로 구분하셔서 표시하시면 됩니다.