서브메뉴에 addclass로 active를 추가할수 없을까요?

서브메뉴에 addclass로 active를 추가할수 없을까요?

QA

서브메뉴에 addclass로 active를 추가할수 없을까요?

답변 1

본문

안녕하세요 그누보드 왕초보입니다..

 

리눅스 centos7버전에 nginx로 그누보드 5.4.2.8 최신버전으로  빌더,테마를 설치하지 않고

그누보드 설치시 제공되는 basic 테마로 작업을 하고 있습니다.

 

서브메뉴를 구성하고 있는 상태이구요. theme안 head.php에다가 ($sub_page는 서브페이지 파일로 만든 연결용 함수입니다.)

 



<?php if ($sub_page || $bo_table) { ?>
    <div class="sub_head sub1 hidden-xs">

    </div>
    <div class="sub_menu container hidden-xs">
        <ul class="sub_ul row">
            <?php
            $k = 0;
            ?>

                <?php
                if (empty($menu_datas2)) {
                    foreach ($menu_datas as $row) {
                        foreach ((array) $row['sub'] as $row2) {
                            if (strpos($row2['me_link'], $sub_page) !== false) {
                                $menu_on2 = $row2;
                                $menu_datas2 = $row['sub'];
                                break;
                            }

                            if (!empty($bo_table)) {
                                if (strpos($row2['me_link'], $bo_table) !== false) {
                                    $menu_on2 = $row2;
                                    $menu_datas2 = $row['sub'];
                                    break;
                                }
                            }
                        }
                    }
                }
                $menu_on;
                foreach ($menu_datas2 as $row) {
                    if (empty($row)) continue;
                    if (empty($menu_on2)) {
                        if (strpos($row['me_link'], $co_id) !== false) $menu_on2 = $row;

                    }
                    ?>
            <li class="col sub_category <?php if($sub_page=="sub_category") echo 'class="active"';?>"><a href="<?php echo $row['me_link']; ?>"><?php echo $row['me_name'] ?></a> </li>
                    <?php
                    $k++;
                }
                if ($k == 0) {  ?>
            <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하세요.<?php } ?></li>
        <?php } ?>

        </ul>
    </div>
<?php } ?>

 

를 추가한 상태이구요 이렇게 추가한 내용들은

3730852952_1599542323.7902.jpg

 

하단 부분에 2차 서브메뉴로 출력되도록 하였습니다.  관리자에서 메뉴 출력은

3730852952_1599542394.7866.png

이런 상태로 해놓은 상태라 서브메뉴들이 하단에 따로 출력되도록 하였습니다.

 

여기서 질문이  <li class="col sub_category></li>로 서브메뉴들을 출력하게 해놓았는데 해당 페이지에 들어갔을시 on 이나 active 클래스를 넣을 방법이 없을까요? ㅜㅜ php너무 어려워서..조언을 구합니다.

이 질문에 댓글 쓰기 :

답변 1

<?php if($sub_page=="sub_category") echo 'class="active"';?>
->
<?php if (strpos($_SERVER['REQUEST_URI'], $row['me_link']) !== false) echo 'class="active"'; ?>

정말감사합니다

알려주신 내용에서 class="active"라는게 클래스명이 이미 만들어진곳에다가 들어가져 버려서
<li class="col sub_category <?php if (strpos($_SERVER['REQUEST_URI'], $row['me_link']) !== false) echo "active"; ?>">
이렇게 해서 해결하였습니다.

항상 도움주셔서 감사합니다 ㅜㅜ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 16
© SIRSOFT
현재 페이지 제일 처음으로