분류를 한곳에서 관리 할수 있게 하는 방법?
본문
게시판 a
게시판 b
게시판 c
세곳의 분류값이 전부 같아야만 할때
분류변경사항이 생겼을경우
지금은 각 게시판 설정에 들어가서 분류를 전부 수정해줬는데요
예를 듦면 extends 같은 글로벌 기능으로
한곳에서 관리할 수 있는 방법이 있을까요?
답변 3
mysql 하실 수 있다면 아래 코드 응용하세요
UPDATE `g5_board` SET `bo_category_list` = 'test|test2|Test3|test4' WHERE `bo_table` IN ('free', 'gallery', 'notice');
카테고리 리스트에 분류를 작성해주세요
그리고 in 안에 free / gallery / notice 게시판만 원하는걸로 바꿔주시면 한방에 해결됩니다.
!-->hook을 사용하면 되는데 쿼리를 한번이라도 줄이기 위해서는 한가지 수정을 해야 합니다
(수정하지 않으려면 함수에서 카테고리를 쿼리해 오도록 하면 되긴합니다)
다음 코드는 A,B,C 어느 게시판에서 수정해도 모두 적용 됩니다
------ adm/board_form_update.php 하단
run_event('admin_board_form_update', $bo_table, $str_bo_category_list ); //event 수정
----- extend/user.config.php에 추가
function board_update_hook($bo_table, $cate_list ){
global $g5;
sql_query("update {$g5['board_table']} set bo_category_list = '{$cate_list}' where bo_table != '$bo_table' and bo_table IN('A','B','C') ");
}
add_event('admin_board_form_update', 'board_update_hook', 10, 2);
* /extend/user.config.php
<?php
if (!defined('_GNUBOARD_')) exit;
$target_boards = ['a', 'b', 'c'];
if (in_array($bo_table, $target_boards)) {
$board['bo_category_list'] = '분류1|분류2|분류3';
}