커뮤니티

메뉴가 아래 예시처럼 3차 메뉴로 구성이 되어 있습니다.

AAA

     BBB

            CCC

DDD

    EEE

          FFF   

 

1차 메뉴명이 AAA인 경우는 1,2,3차 메뉴가 모두 출력되고 만약 DDD인 경우 1차,2차 메뉴까지만 출력하려는 조건문을 걸수 도 있을까요?

 

      <div class="eq navbar-item visible@m">
        <ul class="eq navbar-nav">
          <li loop="$global_menu->list=>$key1,$val1" class="active <!--@if($layout_info->header_style === 'style_03')--> eq dark<!--@end-->"|cond="$val1['selected']">
            <a href="{$val1['href']}" target="_blank"|cond="$val1['open_window']=='Y'">{$val1['link']}</a>

            <ul cond="$val1['list']" class="eq popover popover-list popover-animation-left">
              <li loop="$val1['list']=>$key2,$val2" class="active"|cond="$val2['selected']">
                <a href="{$val2['href']}" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a>

# 3차 메뉴 출력 부분 . 1차 메뉴가 AAA이면 아래 3차 메뉴가 출력되고 1차 메뉴가 DDD이면 아래 3차 메뉴 미 출력  조건문 #
                <ul cond="$val2['list']">
                  <li loop="$val2['list']=>$key3,$val3" class="active"|cond="$val3['selected']">
                    <a href="{$val3['href']}" target="_blank"|cond="$val3['open_window']=='Y'">{$val3['link']}</a>
                    <br>
                  </li>
                </ul>

              </li>
            </ul>
          </li>
        </ul>
      </div>
      

마트몬 Lv. 8

댓글 7

  • <ul cond="$val2['list'] && !strpos($val1['text'], 'DDD')">

    혹시 되는지 한번 해보세요. 저도 코알못이라...
    메뉴명에 정확히 일치되는 메뉴명으로 비교할 경우 새글,업데이트 아이콘이 표시되면 조건이 맞지 않아 메뉴명이 포함된 경우 라는 조건으로 해야 하더군요.
  • @웹지기
    답변 감사합니다.

    <ul cond="$val2['list'] && !strpos($val1['text'], 'DDD')">
    2차 메뉴가 있고 1차 메뉴명이 DDD가 아니라면으로 해석이 되는게 맞죠?

    이상하게 AAA만 3차 메뉴가 출력이 되어야 하는데 DDD도 3차 메뉴까지 출력이 되고 있습니다.
  • @마트몬
    2차메뉴에서 loop를 돌려서 3차메뉴를 출력하는 것이라 1차메뉴의 값을 확인하지 못하나보네요.
    다른분이 1차메뉴의 값을 참조할 수 있는 방법을 조언해 주셔야 할 것 같네요.
  • @웹지기
    답변 주셔서 감사합니다.
    다른 방법이 있을 지 검색 해 보도록 하겠습니다.
  • @마트몬
    2차 메뉴가 많지 않다면 2차메뉴로 조건을 모두 거시는 방법이 있습니다. 사실 저는 그렇게 노가다로 합니다.
    <ul cond="$val2['list'] && !strpos($val1['text'], 'EEE')">

    요건 왠지 될 것 같긴한데요...
  • @웹지기

    <ul cond="$val2['list'] && !strpos($val1['text'], 'EEE')">

    <ul cond="$val2['list'] && !strpos($val2['text'], 'EEE')">

    2가지 경우 모두 적용을 해보니 조건문이 먹히질 않는것 같습니다. 모든 경우 3차 메뉴까지 출력이 되버리네요. ^^;

  • @마트몬
    아.. 오타를 냈군요.. 2번째 것도 안되면.. 제가 잘 못 알고 있나보네요..