후킹, 칼럼 추가로 내용관리_검색_타이틀을 만들기
링크
https://trigger.glitter.kr/bbs/content.php?co_id=company (43) https://trigger.glitter.kr/bbs/content.php?co_id=검색회사소개 (39)/extend/ 폴더에 후킹 함수를 사용하고
디비에 내용관리_검색_타이틀(co_seo_title)을 만들어,
'co_subject와 추가 설정한 'co_seo_title'을 브라우저 상태바(title)에 적용합니다.
https://trigger.glitter.kr/bbs/content.php?co_id=company
1. SQL 컬럼 추가, 순정 그누 경우 기 존재 함 = = =[code]
ALTER TABLE `g5_content` ADD COLUMN `co_seo_title` VARCHAR(255) NOT NULL DEFAULT '';[/code]
2. co_id 각각에 따른 co_seo_title 값을 변경/입력 (그누, '회사소개' 예시) = = =[code]
UPDATE `g5_content` SET `co_seo_title` = '검색회사소개' WHERE `co_id` = 'company';[/code]
. . .
3. /extend/seo_title.extend.php = = =[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 보안 처리
// co_id가 있을 경우, 해당 co_id의 co_seo_title 조회
if (isset($_GET['co_id'])) {
// co_id 필터링 (한글, 영문, 숫자, 밑줄(_) 허용)
$co_id = preg_replace('/[^가-힣a-zA-Z0-9_]/u', '', $_GET['co_id']);
// SQL 실행하여 co_seo_title 조회
$sql = "SELECT co_seo_title FROM g5_content WHERE co_id = '".sql_real_escape_string($co_id)."'";
$result = sql_fetch($sql);
// co_seo_title이 존재하면 cf_title을 대체
if (!empty($result['co_seo_title'])) {
$config['cf_title'] = trim($result['co_seo_title']); // co_seo_title로 변경
}
}
// 후킹 시스템을 사용하여 g5['title']을 재설정
add_event('head.sub.php', function() {
global $g5, $config;
if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title'];
} else {
// 상태바에 표시될 제목 설정
$g5['title'] = implode(' | ', array_filter(array($g5['title'], $config['cf_title'])));
}
// XSS 방지를 위한 strip_tags 처리
$g5['title'] = strip_tags($g5['title']);
});
?>[/code]
붙임) 추가로 'co_seo_title'을 사용한 검색을 위해선,
/bbs/content.php의 필터링 코드가 영문, 숫자, 밑줄만 허용하고 있으니
한글을 허용하도록 수정이 필요합니다.
해당 예시에서 사용한 /bbs/content.php는 첨부한 '파일1' content.php.zip입니다.
붙임)
다만, 우선순위(priority) 지정은 운영자가 직접 넣어야 합니다.
원본이 자동 보정하지 않으므로 충돌 가능성이 있으면
반드시 G5_HOOK_DEFAULT_PRIORITY+10 등으로 지정해야 안전합니다.
댓글 3개
감사합니다 ^^
정말 감사합니다.
게시판 각 페이지에서도 적용하는것 부탁드릴께요...ㅎㅎ
감사합니다.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4420 | ||
| 2604 | 8개월 전 | 676 | ||
| 2603 | 8개월 전 | 735 | ||
| 2602 | 8개월 전 | 648 | ||
| 2601 |
|
8개월 전 | 671 | |
| 2600 |
|
8개월 전 | 580 | |
| 2599 | 8개월 전 | 809 | ||
| 2598 | 8개월 전 | 602 | ||
| 2597 |
다케미카코
|
8개월 전 | 756 | |
| 2596 | 8개월 전 | 854 | ||
| 2595 |
|
8개월 전 | 446 | |
| 2594 | 9개월 전 | 608 | ||
| 2593 |
만두먹고또먹고
|
9개월 전 | 938 | |
| 2592 | 9개월 전 | 613 | ||
| 2591 | 9개월 전 | 620 | ||
| 2590 | 9개월 전 | 689 | ||
| 2589 |
|
9개월 전 | 758 | |
| 2588 | 9개월 전 | 478 | ||
| 2587 | 9개월 전 | 796 | ||
| 2586 | 9개월 전 | 643 | ||
| 2585 | 9개월 전 | 511 | ||
| 2584 | 9개월 전 | 577 | ||
| 2583 | 9개월 전 | 498 | ||
| 2582 | 9개월 전 | 643 | ||
| 2581 | 9개월 전 | 598 | ||
| 2580 |
만두먹고또먹고
|
9개월 전 | 517 | |
| 2579 |
|
9개월 전 | 664 | |
| 2578 | 9개월 전 | 647 | ||
| 2577 | 9개월 전 | 627 | ||
| 2576 | 9개월 전 | 562 | ||
| 2575 |
이슈DEV
|
10개월 전 | 993 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기