분류를 한곳에서 관리 할수 있게 하는 방법?

2024-07-11 (목) 12:58:05 4,151

게시판 a

게시판 b

게시판 c

세곳의 분류값이 전부 같아야만 할때

분류변경사항이 생겼을경우

지금은 각 게시판 설정에 들어가서 분류를 전부 수정해줬는데요

예를 듦면 extends 같은 글로벌 기능으로 

한곳에서 관리할 수 있는 방법이 있을까요?

|

답변 3개

2024-07-12 (금) 21:28:38

* /extend/user.config.php

Copy
<?php
if (!defined('_GNUBOARD_')) exit;

 

$target_boards = ['a', 'b', 'c'];
if (in_array($bo_table, $target_boards)) {
    $board['bo_category_list'] = '분류1|분류2|분류3';
}

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);

2024-07-11 (목) 13:22:06

mysql 하실 수 있다면 아래 코드 응용하세요

Copy
UPDATE `g5_board` SET `bo_category_list` = 'test|test2|Test3|test4' WHERE `bo_table` IN ('free', 'gallery', 'notice');

카테고리 리스트에 분류를 작성해주세요 

그리고  in 안에 free / gallery / notice 게시판만 원하는걸로 바꿔주시면 한방에 해결됩니다.

답변을 작성하려면 로그인이 필요합니다.