XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
다국어 사이트를 제대로 만들어보다보니, 진짜 별의별개 다 문제가 된다.
그래도 XE 만큼 다국어를 잘 지원하는게 어딧냐고 스스로를 위안 삼긴하지만 ^^;;;
신경 쓸게 너무 많은듯..
이번에 알려드릴 팁은...
최소 2개국어 이상의 다국어 사이트를 만들경우.. 트위터 등의 SNS 링크 버튼을 클릭할 경우
그 링크를 따라 들어오면 무조건 최초의 기본 언어로 나타나고
해당 글도, 처음 글이 쓰여질때의 언어로 그 글이 나타난다.
이는 xe_v3_default 게시판 스킨의 sns 링크도 마찬가지고
일반적으로 공개되어있는 애드온식의 링크에서도 전부 마찬가지 현상이다
이는 선택된 언어가 내부적으로는 값이 전달되지만 외부에서 접근할때는 그 정보가 없기에 default 가 나오는거다.
따라서 결국, 해결방법은 sns쪽으로 보내는 주소쪽에 직접 언어값을 같이 전달해주면 된다..
다국어를 그대로 유지한채로 SNS 쪽으로 연결을 하게하려면
링크주소 가져가는 부분 끝에 &l={Context::getLangType()} 를 붙여주면 된다
예를들어 xe_v3_default 스킨을 기준으로 하면
read.html 에서
<script type="text/javascript">
jQuery(function($){
$('.twitter>a').snspost({
type : 'twitter',
content : '{$oDocument->getTitle()} {$oDocument->getPermanentUrl()}'
});
$('.me2day>a').snspost({
type : 'me2day',
content : '\"{$oDocument->getTitle()}\":{$oDocument->getPermanentUrl()}'
});
$('.facebook>a').snspost({
type : 'facebook',
content : '{$oDocument->getTitle()}'
});
$('.delicious>a').snspost({
type : 'delicious',
content : '{$oDocument->getTitle()}'
});
});
</script>
부분을 아래처럼 고쳐주면 된다.
<script type="text/javascript">
jQuery(function($){
$('.twitter>a').snspost({
type : 'twitter',
content : '{$oDocument->getTitle()} {$oDocument->getPermanentUrl()}&l={Context::getLangType()} '
});
$('.me2day>a').snspost({
type : 'me2day',
content : '\"{$oDocument->getTitle()}\":{$oDocument->getPermanentUrl()}&l={Context::getLangType()} '
});
$('.facebook>a').snspost({
type : 'facebook',
content : '{$oDocument->getTitle()}&l={Context::getLangType()} '
});
$('.delicious>a').snspost({
type : 'delicious',
content : '{$oDocument->getTitle()}&l={Context::getLangType()} '
});
});
</script>
다른 SNS 애드온들에도 필요하면 같은 원리로 수정해서 사용하면 된다.
참고로, googlemap 같은 경우도 선택된 언어에 따라 지도의 기본 설정이 달라지게 하려면
처음 지도를 불러들이는 소스 쪽에서