사이트 태그라인 & 파비콘 (site_tagline_favicon)
사이트 태그라인 & 파비콘 (site_tagline_favicon)
그누보드5 기본환경설정 화면에 사이트 태그라인(meta description)과 파비콘 업로드 항목을 추가하는 확장 스크립트입니다. 설정한 값은 프론트엔드 <head>에 <meta name="description">과 <link rel="icon">으로 자동 출력됩니다.
주요 기능
- 기본환경설정 화면에 "사이트 태그라인" 텍스트 입력란 추가
- 기본환경설정 화면에 파비콘 업로드 입력란 추가(.ico/.png/.gif/.jpg/.svg 지원, 확장자+MIME 검증)
- 저장값은
data/site_meta.json에 보관(그누보드 코어 DB 스키마 변경 없이 별도 파일로 관리) - 프론트엔드 모든 페이지 <head>에 태그라인(meta description)과 파비콘 링크 자동 삽입
설치 방법 (공통, 모든 테마)
- 첨부된 zip을 그누보드 루트에 압축 해제 (결과:
extend/site_tagline_favicon.extend.php) adm/config_form.php에서 "네이버 신디케이션 제외게시판" 입력행 바로 다음(해당 탭의</tbody>직전)에 아래 한 줄을 추가합니다. 이 훅이 없으면 관리자 화면에 입력란 자체가 보이지 않습니다.<?php run_event('admin_config_form_basic_field'); ?>
PORTAL 테마가 아닌 다른 테마에서 사용할 경우 추가 작업
이 확장은 그누보드 코어의 pre_head 이벤트에 훅을 겁니다. 코어 root head.php는 이 이벤트를 항상 발생시키지만, 커스텀 테마를 쓰는 사이트는 대부분 index.php/board.php 등이 root head.php를 거치지 않고 테마 자신의 head.php(또는 core head.sub.php)를 직접 호출하는 구조입니다. 이 경우 pre_head가 한 번도 발생하지 않아 meta description·파비콘이 출력되지 않습니다.
확인 방법: 사용 중인 테마의 head.php 파일을 열어 run_event('pre_head') 호출이 있는지 확인하세요. 없다면 파일 맨 위(_GNUBOARD_ 체크 바로 다음)에 아래 한 줄을 추가하면 됩니다.
run_event('pre_head');
(선택) 메인 페이지 브라우저 탭 타이틀에 태그라인 노출하기
meta description과 별개로, 홈페이지의 브라우저 탭 제목에도 태그라인을 붙이고 싶다면 테마가 쓰는 head.sub.php(테마 자체 파일이 있으면 그 파일, 없으면 core head.sub.php)에서 페이지 타이틀을 조합하는 부분을 찾아 아래처럼 수정하세요. 보통 if (!isset($g5['title'])) 분기(= 메인 페이지일 때만 해당) 안에 추가하면 됩니다.
if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title'];
$g5_head_title = $g5['title'];
// 메인 페이지: 사이트 태그라인이 설정되어 있으면 브라우저 타이틀에 함께 노출
if (function_exists('stf_get_meta')) {
$g5_tagline = stf_get_meta()['tagline'] ?? '';
if ($g5_tagline !== '') {
$g5_head_title = implode(' - ', array_filter([$g5_head_title, $g5_tagline]));
}
}
} else {
$g5_head_title = implode(' | ', array_filter([$g5['title'], $config['cf_title']]));
}
※ 이렇게 하면 홈페이지는 사이트명 - 태그라인 형식으로, 다른 하위 페이지(게시판 등)는 기존처럼 페이지명 | 사이트명 형식 그대로 유지됩니다. $g5['title'] 변수 자체가 아니라 <title> 태그 전용 변수만 바꾸는 것이라 접속자 현재 위치 기록 등 다른 기능에는 영향이 없습니다.
첨부파일
- site_tagline_favicon.zip (2.3K) 0회 다운로드
댓글목록
등록된 댓글이 없습니다.
