그누보드 - 글목록에서 간단하게 공지글 등록/해제
페이지 정보
작성자 서방님 댓글 0건 조회 71회 작성일 23-07-04 13:16본문
그누보드 게시판 글목록에서
간단하게 클릭 한번으로 원하는 게시글을 공지글로 등록 및 해제하는 코드입니다.
공지글이 아닌 글은 '글번호'를 클릭하면 공지글로 지정됩니다.
공지글은 [공지]를 클릭하면 공지글에서 해제됩니다.
편의상 그누보드 'basic' 게시판 스킨 기준 소스입니다.
(다른 스킨/소스인 경우 적당히 응용하여 적용하면 됩니다.)
1. [스킨 디렉토리]/list.skin.php
1) 글번호 td 에 이벤트 처리를 위한 class 설정 't_notice'
<td class="td_num2">
<?php
if ($list[$i]['is_notice'])
→
<td class="td_num2 t_notice">
<?php
if ($list[$i]['is_notice'])
2) 클릭 이벤트 처리용 자바스크립트 함수 추가
<?php if ($is_checkbox) { ?>
<script>
아래에 추가
$(function() {
$('.t_notice').css('cursor', 'pointer');
$('.t_notice').on('click', function() {
let _id = $(this).parent().find("input[name^=chk_wr_id]").val();
$.ajax({
type: "POST",
url: "<?php echo $board_skin_url ?>/ajax.notice.php",
data: {bo_table : g5_bo_table, wr_id : _id },
success: function(data) {
if (data == "1")
location.href = g5_bbs_url + "/board.php?bo_table=" + g5_bo_table;
}
});
});
});
2. [스킨 디렉토리] 에 ajax.notice.php 파일 생성 및 다음 코드 추가 ([스킨 디렉토리]/ajax.notice.php)
(그누보드 루트의 common.php 경로가 맞는지 확인 필요)
<?php
include_once('../../../common.php');
if ($is_admin && $bo_table && $wr_id) {
$arr_notice = explode(',', trim($board['bo_notice']));
if (in_array($wr_id, $arr_notice))
$notice = false;
else
$notice = true;
$bo_notice = board_notice($board['bo_notice'], $wr_id, $notice);
$sql = " update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ";
$result = sql_query($sql);
echo $result;
}
관련링크 (출처)
댓글목록
등록된 댓글이 없습니다.