
팁과노하우
메뉴에 새글이 있을경우 N 아이콘 표시
https://rebuilder.co.kr/qna/855
삼다수님의 질문답변을 보고 만들었습니다.
리빌더의 새글 아이콘은
get_new_ico("게시판 테이블 아이디", "카테고리 아이디") 함수를 통해
조건에 맞는 게시판에 새글이 있을 경우
<span class="gnb_new_ico">n</span>
위와 같은 HTML 코드를 반환 합니다.
그누보드5의 경우(혹은 리빌더의 또는 대다수의 경우) 메뉴관리에서 URL 전체의 링크로 저장되기 때문에 위 함수를 바로 사용하시기에는 작동할 수 없습니다.
게시판 테이블 아이디를 따로 불러올 수 없기 때문입니다.
그래서 생각한 방법이 현재 주소에서 게시판 아이디를 추출해서, 그 아이디를 메뉴를 출력하는 부분에서 get_new_ico 함수를 호출하면 되겠다 생각했습니다.
첨부파일로 올려드리는 extend 파일을 extend 폴더에 넣으세요. (파일이름은 바꾸셔도 무방합니다.)
해당 extend 파일에 작성되어 있는 코드는 URL을 받아서 URL에서 적절한 게시판 테이블 아이디를 반환해줍니다. (extract_bbs_name)
(짧은주소 사용 여부에 따른 로직이 다르게 코드를 짜긴 했지만, 미사용의 경우 테스트하지 못했습니다.)
extend 파일을 업로드 하였다면 사용하시는 헤더스킨 혹은 메뉴를 출력하는 곳으로 이동합니다. (본글에서는 basic 헤더 기준으로 설명합니다.)
header.php 파일중 아래 구문을 찾아주세요.
그럼 아래와 같은 모습입니다.
아래와 같이 소메뉴를 출력하는 구문을 바꿔주세요.
기존
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a></li>
그럼 사진과 같이 새글이 있는 곳에 n 글자가 보이게 됩니다.
n에 대한 스타일링은 적절한 스타일시트 파일 (theme/rb.basic/rb.layout_hd/basic/style.css) 에 스타일을 정의 해주세요.
.gnb_new_ico { 스타일 정의 }
제가 글쓰는 솜씨가 없습니다...
혹시 궁금하신 점 있으시면, 언제든 댓글 달아주세요.
- 이전글새글 아이콘 출력 표시 (업데이트)2024.10.22
- 다음글회원제 사이트로 운영 할 때 회원 가입 및 로그인 수정 파일2024.10.18
댓글목록








네 그렇게 적용 하였는데
증상이 나옵니다.
<nav id="cbp-hrmenu" class="cbp-hrmenu pc">
<ul>
<?php
$menu_datas = get_menu_db(0, true);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
$i = 0;
foreach( $menu_datas as $row ){
if( empty($row) ) continue;
?>
<li>
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="font-B"><?php echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
$menu_bo_table = extract_bbs_name($row2['me_link']);
$newIcon = $menu_bo_table ? get_new_ico($menu_bo_table, "") : "";
if( empty($row2) ) continue;
if($k == 0)
echo '<div class="cbp-hrsub"><div class="cbp-hrsub-inner"><div><!--<h4 class="font-B">그룹</h4>--><ul>'.PHP_EOL;
?>
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?><?php echo get_bbs_new_ico($row2['me_link']);?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul></div></div></div>'.PHP_EOL;
?>
</li>
<?php
$i++;
} //end foreach $row
?>
<?php if ($i == 0) { ?>
<li><a href="javascript:void(0);">메뉴 준비 중입니다.</a></li>
<?php } ?>
</ul>
</nav>
2024-10-23 14:27

신청 이후 담당자가 개별연락 드리고 있습니다.
입금자명과 실제 입금자가 동일한 경우 자동처리 됩니다.
결제예정 금액 : 0 (VAT별도)
하나은행(KOEXKRSE) : 258-910104-00407 / 김은정(인덱스)