메인메뉴 새글 아이콘 출력

메인메뉴 새글 아이콘 출력

QA

메인메뉴 새글 아이콘 출력

본문

안녕하세요

 

게시판에 새글이 있을 경우 해당 메뉴에 새글 아이콘(icon_new.gif)이 나오게 하려고 합니다.

G5 기준글을 찾기는 했는데 적용이 안되네요...

https://sir.kr/g5_tip/1084

 

차이가 있다면

1. 테마를 사용

2. shop.head.php에 적용

 

이 두가지인데 상관이 있는지는 모르겠네요..

제 코드 남겨놓습니다.

 

www/lib/new.icon.lib.php


<?php
function tto_new_icon($bo_table) {
  global $g5;
  $temp = sql_fetch("select bo_new from {$g5['board_table']} where bo_table = '$bo_table'");
  $time_set = date("Y-m-d H:i:s", time() - $temp[bo_new] * 60 * 60);
  $row = sql_fetch("select wr_id as cnt from {$g5['write_prefix']}$bo_table where wr_is_comment = '0' and wr_datetime > '$time_set'");
  if($row[cnt])
echo " new"; // 사용 이미지에 맞게 경로.파일 수정
//echo " <img src='/img/icon_new.gif' alt='' />"; // 사용 이미지에 맞게 경로.파일 수정
}
?>

 

shop.head.php

 

include_once(G5_LIB_PATH.'/new.icon.lib.php'); // 추가

 


<nav id="menu">
        <h2>메인메뉴</h2>
        <ul>
            <?php
            $sql = " select *
                        from {$g5['menu_table']}
                        where me_use = '1'
                          and length(me_code) = '2'
                        order by me_order, me_id ";
            $result = sql_query($sql, false);
            $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
            $menu_datas = array();
            for ($i=0; $row=sql_fetch_array($result); $i++) {
                $menu_datas[$i] = $row;
                $sql2 = " select *
                            from {$g5['menu_table']}
                            where me_use = '1'
                              and length(me_code) = '4'
                              and substring(me_code, 1, 2) = '{$row['me_code']}'
                            order by me_order, me_id ";
                $result2 = sql_query($sql2);
                for ($k=0; $row2=sql_fetch_array($result2); $k++) {
                    $menu_datas[$i]['sub'][$k] = $row2;
                }
            }
            $i = 0;
            foreach( $menu_datas as $row ){
                if( empty($row) ) continue; 
            ?>
            <li class="menu_1dli">
                <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="menu_1da"><?php echo $row['me_name'] ?> <?php echo tto_new_icon($row2['bo_table']) ?></a>
                <?php
                $k = 0;
                foreach( (array) $row['sub'] as $row2 ){
                    if( empty($row2) ) continue; 
                    if($k == 0)
                        echo '<span class="bg"><i class="fa fa-chevron-down"></i></span><ul class="menu_2dul">'.PHP_EOL;
                ?>
            <li class="menu_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="menu_2da"><?php echo $row2['me_name'] ?></a></li>
            <?php
                $k++;
                }   //end foreach $row2
                if($k > 0)
                    echo '</ul>'.PHP_EOL;
                ?>
            </li>
            <?php
            $i++;
            }   //end foreach $row
            if ($i == 0) {  ?>
            <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
            <?php } ?>
        </ul>
    </nav>

 

아래가 추가된 코드입니다.

<?php echo tto_new_icon($row2['bo_table']) ?>

 

해결될 수 있는 문제면 좋겠네요 ㅠ

 

감사합니다.

이 질문에 댓글 쓰기 :

답변 2

menu 테이블에는 bo_table 칼럼 값이 없습니다.

menu 테이블의 me_link 칼럼에만 게시판 URL 인 경우,

"http://~/bbs/board.php?bo_table=notice" 형태로 들어가 있습니다.

me_link 값을 파싱하여 bo_table 값을 추출하여 넘겨주어야 됩니다.

1.

foreach( $menu_datas as $row ){
  if( empty($row) ) continue;
->

foreach( $menu_datas as $row ){
  if( empty($row) ) continue;
  $parts = parse_url($row['me_link']);
  parse_str($parts['query'], $query);


2.

<?php echo tto_new_icon($row2['bo_table']) ?>

->

<?php echo tto_new_icon($query['bo_table']) ?>

답변을 작성하시기 전에 로그인 해주세요.
전체 49
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT