스킨을 공통으로 쓰면서 국문 / 영문 구분 채택완료
국문 게시판은 테이블명이 aaa 이면, 영문 게시판은 en_aaa 입니다.
상단 파일 경로는 국문은 _head.php(default 값) 를,
영문은 _head_en.php 를 연결해주었으며, 하단 파일 경로도 상단과 동일하게 뒤에 _en만 붙였습니다.
스킨은 하나로 같이 쓰는 상태입니다. 어차피 와꾸는 같고, 문구만 갈아치우면 되는 형식이라 똑같은 스킨을 굳이 하나 더 만들 필요를 못느껴서 하나로 작업을 한건데
국문 먼저 완성하다보니 스킨의 문구들도 다 국문으로 되어있습니다.
근데 영문을 추가제작 하다보니 스킨에서는 국문인지, 영문인지 판별해서 문구를 다르게 출력시키려고 했는데, 바뀌질 않고 있습니다....;;;
영문 헤더 /_head_en.php 에
</p>
<p>define('_EN_', true);</p>
<p>
를 주고
국문 헤더에는 없습니다.
head.sub.php 에서는 잘 불러와집니다....
</p>
<p>$lang = defined('_EN_') ? 'en', 'ko';</p>
<p>$config['cf_title'] = definde('_EN_') ? $config['cf_1'] : $config['cf_title'];</p>
<p> </p>
<p>// css 부분</p>
<p>echo '<link rel="stylesheet" href="'.run_replace('head_css_url', '/static/css/layout'.(defined('_EN_') ? '_en' : '').(G5_IS_MOBILE?'_mobile':'').'.css?ver='.G5_LAYOUT_VER, G5_URL).'">'.PHP_EOL;</p>
<p>
위 구문이 영문의 일반페이지(하드코딩), /index.php 에서는 잘 불러와 지는데
게시판에서만 말썽입니다....;;;
그래서 /bbs/_head_en.php 에도 /_head.php 불러오기전에 define('_EN_', true); 를 줘봤는데도
적용되질 않아 질문드려봅니다ㅠㅠ
$lang 을 찍어보면 영문 게시판에서도 ko 로 출력이 됩니다;;ㅠㅠㅠ 영문의 다른 일반 페이지에서는 en 으로 출력이 잘되는데 영문게시판 en_테이블명 에서는 적용이 안되고 있습니다.
영문게시판은 head.sub.php 에서도 적용이 안돼서 layout.css(국문 스타일) 을 출력하고 있습니다.
스킨 하나로 영/국문 제작시 어느 언어로 접속했는지 판별할 방법이 있을까요...??
$bo_table 앞에 en_ 가 붙었나 안붙었나로 해도 될 것 같기는 한데....
우선 $bo_table 로 판별해둬야겠습니다ㅠㅠㅠ 다른 방법으로 적용가능한게 있다면 알려주시면 감사하겠습니다...
답변 1개
게시판 설정의 '상단 파일 경로 : _head.php' 는
/bbs/_head.php 를 의미합니다.
/bbs/_head.php 파일의 소스를 보면, /_head.php 로 진행되기 때문에..
/_head_en.php 를 거쳐가지 않게 됩니다.
=>
* /bbs/_head.php
if (strpos($bo_table, 'en_') !== false)
include_once(G5_PATH.'/_head_en.php');
else
include_once(G5_PATH.'/_head.php');
답변에 대한 댓글 3개
상단파일 경로 : _head.en.php 로 했다면
/bbs/_head_en.php 를 불러오는 것이 맞습니다.
어디서부터 예상대로 흘러가지 않게 된 것인지, 디버깅 코드로 확인해봐야 할 듯 합니다.
ex. /bbs/_head_en.php
echo 'a'; exit;
-> 브라우저에서 확인 -> ...
결국 head.sub.php 에서 $lang 부분에 조건을 추가해서 해결은 했습니다ㅠㅠㅠ
[code]
$lang = defined('_EN_') || strpos($bo_table, 'en_') !== false ? 'en' : 'ko';
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
영문게시판은 상단파일경로를 _head_en.php 로 설정해놓은 상태인데 안돼서 질문드린거였습니다ㅠ
/bbs/_head_en.php 파일에는 /_head_en.php 를 불러오게 해놓았고, /_head_en.php 에는 /head_en.php 를 불러오게 해놓았습니다...
_en.php 파일들은 모두 _en 이 없는 코어파일을 그대로 복사해서 뒤에 _en만 붙여놓았습니다...