본문으로 바로가기

그누보드에서 제목 출력을 담당하는 PHP 변수는 $g5['title'] 입니다. 이에 대한 설정내용과 페이지별 제목의 원리를 살펴보고 이를 수정해 봅시다.

해당 글은 그누보드5 버전을 기준으로 작성되었습니다.

사이트 제목 담당 ($g5_head_title)

그누보드에서 사이트의 제목을 설정하는 곳은 head.sub.php 파일이다.

head.sub.php 파일의 head 영역에서 <title><?php echo $g5_head_title; ?></title>와 같이 처리하고 있는데 $g5_head_title은 PHP 변수로 head.sub.php 파일의 상단에 아래와 같이 변수값을 설정하고 있다.

if (!isset($g5['title'])) {
    $g5['title'] = $config['cf_title'];
    $g5_head_title = $g5['title'];
}
else {
    $g5_head_title = $g5['title']; // 상태바에 표시될 제목
    $g5_head_title .= " | ".$config['cf_title'];
}
  • $g5['title'] 변수가 설정되어 있지않다면, 이어지는 구문에서 변수들을 설정한다. (그누보드에서는 게시판 및 특정 페이지의 제목을 따로 만들어두기 때문에 출력하게 되는 $g5['title'] 변수값은 접속하는 페이지에 따라 달라진다.)
  • $g5['title'] 변수값이 설정되어 있지 않다면, 관리자의 환경설정에 설정된 홈페이지 제목의 값을 가져와 $g5['title'] 에 할당한다.

  • $g5['title'] 변수값이 설정되어 있지 않다면, <title>에 설정될 값으로 위와 마찬가지로 홈페이지 제목의 값을 가져와 $g5_head_title 에 할당한다.

  • $g5['title'] 변수값이 설정되어 있을때 즉, 게시판이나 제목을 자체적으로 가진 특정 페이지의 경우에는 $g5['title'] 에 이미 설정된 페이지 제목과 홈페이지 제목을 가져와 $g5_head_title 에 할당한다. 세부페이지명 혹은 게시판 글제목 | 사이트제목 과 같은 형태로 표기된다.

요약

관리자의 환경설정에 설정된 홈페이지 제목이 사이트 제목으로 이용되고, 일부 페이지들은 해당 페이지에 미리 설정된 $g5['title'] 이 해당 페이지의 제목으로 설정된다.

브랜드명으로 출력

검색엔진이나 기타 봇들에 의해 사이트가 수집될때 헤딩(heading) 태그들을 주요하게 살펴보는데, 이중 사이트의 <h1> 태그가 해당 사이트의 브랜드명, 즉 제목으로 사용되곤 한다. 서적의 목차를 생각하면 이해가 쉬운데, 주요 제목(h1)과 이하의 목차들(h2,h3,h4)이 세부 목차로 구분된다고 보면 된다.

head.php 파일의 상단에 아래와 같이 제목을 출력한다. 그누보드의 경우 기본형이 로고 이미지를 사용하기에 해당 부분은 눈에는 보이지 않게 처리되어 있지만 실제로는 봇들에 의해 수집된다.

<!-- 상단 시작 { -->
<div id="hd">
    <h1 id="hd_h1"><?php echo $g5['title'] ?></h1>
  • 브랜드명을 출력한다(화면에는 출력되지 않음).

본문에 출력

head.php 파일의 하단에 아래와 같이 제목을 출력한다.

<!-- 콘텐츠 시작 { -->
<div id="wrapper">
    <div id="aside">
        <?php echo outlogin('basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
        <?php echo poll('basic'); // 설문조사, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
    </div>
    <div id="container">
        <?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
  • 본문에 해당하는 #container 에 게시판, 비밀글, 인덱스 페이지가 아닌 경우에 본문의 제목으로 출력한다.

페이지의 제목

게시판에 출력

위에서 살펴본 본문에 출력부분의 게시판일 경우에는 다른 적용을 받게 되는데 이는 board.php 파일에서 변수 $g5['title'] 값을 아래와 같이 설정한다.

.....
$g5['title'] = strip_tags(conv_subject($write['wr_subject'], 255))." > ".((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']);
.....
$g5['title'] = ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$page.' 페이지';
.....
  • 모바일과 PC에 설정된 게시판 제목을 가져와 $g5['title'] 에 할당한다.

  • 만일 게시판의 페이지 갯수가 1개 이상이라면 해당 페이지 숫자를 $g5['title'] 에 함께 할당한다.


'그누보드 > GNU 자습서' 카테고리의 다른 글

그누보드 $w 변수값이 의미하는 것  (0) 2017.02.01