게시판 그룹 별 head.sub.php 파일 적용

게시판 그룹 별 head.sub.php 파일 적용

QA

게시판 그룹 별 head.sub.php 파일 적용

본문

안녕하세요

 

그누보드 5.2버전을 이용하여 다국어 사이트를 만들고 있습니다.

언어별로 게시판 그룹을 묶었고(국문게시판/영문게시판/중문게시판 등)

스킨에서는 $gr_id를 이용하여 그룹별 언어를 대치했습니다.

($gr_id는 각각 언어별로 kor/ eng/ chn입니다)

 

지금 문제는,

언어별로 <html>에 붙는 lang이나 css 파일 경로 등을 다르게 설정해야 하는데

theme/head.sub.php에서는 $gr_id를 사용할 수 없나봅니다. 적용이 안되더라구요.

 

그래서 언어별로 head.sub.php파일을 만들고

(예를 들어 head.sub_eng.php 등)

theme/head.sub.php 내용을 다 지운 후 아래와 같이 수정했습니다.

 

게시판 그룹별로도 묶고, 게시판 id에도 언어표기를 했기 때문에

URL에 해당 키워드가 있으면 분기하는 방식으로 작성한 것입니다.

 


<?php
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
$Site_URL = $PHP_SELF; //현재 페이지 이름을 담는다
if(strpos($Site_URL, 'eng')!==false){
    include_once(G5_THEME_PATH.'/head.sub_eng.php');
}else{
    include_once(G5_THEME_PATH.'/head.sub_kor.php');
}
?>

 

그런데 전체 검색 결과 페이지(search.php)과 같은 페이지에서는 언어별 파일로 적용이 되는데

게시판에서는 언어별 조건 분기가 안되고 head.sub_kor.php 파일이 적용됩니다.

 

제가 위의 소스를 잘못 작성한 것인지,

아니면 그누보드 내의 변수를 이용한 방법이 있는지 조언 부탁드립니다.

 

 

이 질문에 댓글 쓰기 :

답변 3

if($gr_id =="한국말"){

 include_once(G5_THEME_PATH.'/head.sub_kor.php');

}else if($gr_id=="중국말"){

 include_once(G5_THEME_PATH.'/head.sub_eng.php');

}

 

오 gr_id 찍어보라고 하셔서 다시 생각해보니까
gr_id는 게시판에서만 적용되는거고
search.php 는 게시판이 아니니까 게시판 그룹 변수가 안먹힌다는걸 놓치고있었어요!!

사실 search.php때문에 위의 소스를 고안했던거였거든요!!

아래와 같이 수정해서 해결했습니다!!


if(strpos($Site_URL, 'eng')!==false || $gr_id=='eng'){
	include_once(G5_THEME_PATH.'/head.sub_eng.php');
}else{
	include_once(G5_THEME_PATH.'/head.sub_kor.php');
}


그러고보니 소스를 좀 더 괜찮게 바꿀 수 있는 방법이 또 생각났어요~_~
파일 여러개 만드는게 좀 찝찝했는데 그것도 해결할 수 있을 것 같습니당

덕분에 다시 생각해볼 수 있었습니다. 감사합니다.

혹시 A 게시판에서

B게시판 여분필드값 출력하려는데 어찌하시는지 아세여,,,???

전 완전 초보라.ㅜoㅜ

답변을 작성하시기 전에 로그인 해주세요.
전체 806
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT