링크
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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 23798 | |
| 23797 | |
| 23792 | |
| 23791 | |
| 23785 | |
| 23781 | |
| 23770 | |
| 23766 | |
| 23764 | |
| 23761 | |
| 23747 | |
| 23732 | |
| 23724 | |
| 23718 | |
| 23706 | |
| 23700 | |
| 23697 | |
| 23686 | |
| 23682 | |
| 23681 | |
| 23680 | |
| 23678 | |
| 23665 | |
| 23644 | |
| 23643 | |
| 23639 | |
| 23637 | |
| 23630 | |
| 23626 | |
| 23616 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기