메뉴가 아래 예시처럼 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>
      

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

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

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

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

    요건 왠지 될 것 같긴한데요...
  • Lv30 ? Lv7

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

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

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

  • ? Lv7 Lv30
    아.. 오타를 냈군요.. 2번째 것도 안되면.. 제가 잘 못 알고 있나보네요..