위젯 스킨 자료실
글수 200
| 라이센스 | GPL2 |
|---|---|
| 기타 라이센스 | |
| 적용 버전 | 정식버전(1.0이후) |

외국어 사이트를 만들다 보면 아쉬운점이 언어 설정을 하나밖에 할수 없다는 것이 문제다.
관리자페이지에서 설정한 언어설정이 기본으로 되어 언어에 상관없이 해당 언어로 보여지게 되며, 필요시 상단에 나오는 언어선택부분을 클릭해야만 원하는 언어를 볼 수가 있다.
하지만 사용자 입장에서는 한국어 홈페이지에 들어갔을땐 한국어로 나왔으면 좋겠고, 영문홈페이지에 들어갔을땐 영문 홈페이지가 나왔으면 좋을것이다.
이것을 간단하게 위젯을 이용하여 처리해 보았다.
물론 이것을 사용하기 위해서는 각국 언어별로 레이아웃이 다르게 존재한다는 가정하에서 설명이 되어지겠다.
위 그림을 참고로 설명을 하자면
메인은 한국어를 사용하고 서브는 영어를 사용하도록 설정을 해두었다.
참고할 사이트는
메인 한국어 : http://jobdahan.net/jdh_1home
서브 영어 : http://jobdahan.net/?mid=jdh_1board1
다국어 적용사이트 예제 : http://dybs.cafe24.com/zbxe/
한국어 = 한국어,
영어,이탈이아어 = 영어로 적용
이렇게 설정하기 위해선 먼저 언급했듯이, 메인용레이아웃과 서브용 레이아웃이 따로 있어야 한다.
물론 각 나라언어별 홈페이지를 제작하시는 분들이라면 각 나라별 레이아웃 템플릿을 따로 만들어서 처리하면 보다 쉽게 처리가 될것이다.
우선 이 기능을 사용하는 방법을 순서대로 설명을 해보면.
1. language_select.zip 이 위젯을 압축을 풀어서 /zbxe/widgets/ 폴더 아래에 업로드 시킨다.
기존 위젯이 있으니 덮어쓰시길.. (기존 투박한 디자인을 현재 배포용 디자인으로 교체했으니 오히려 더 나을듯...)
2. 사용하고 있는 레이아웃파일에서 (layout.html) 소스를 바꿔준다.
변경할 소스 (27~34라인)
<div id="language">
<strong title="{$lang_type}">{$lang_supported[$lang_type]}</strong> <a href="#selectLang" onclick="showHide('selectLang');return false;"><img src="./images/{$layout_info->colorset}/buttonLang.gif" alt="Select Language" width="87" height="15" /></a>
<ul id="selectLang">
<!--@foreach($lang_supported as $key => $val)--><!--@if($key!= $lang_type)-->
<li><a href="#" onclick="doChangeLangType('{$key}');return false;">{$val}</a></li>
<!--@end--><!--@end-->
</ul>
</div>
<strong title="{$lang_type}">{$lang_supported[$lang_type]}</strong> <a href="#selectLang" onclick="showHide('selectLang');return false;"><img src="./images/{$layout_info->colorset}/buttonLang.gif" alt="Select Language" width="87" height="15" /></a>
<ul id="selectLang">
<!--@foreach($lang_supported as $key => $val)--><!--@if($key!= $lang_type)-->
<li><a href="#" onclick="doChangeLangType('{$key}');return false;">{$val}</a></li>
<!--@end--><!--@end-->
</ul>
</div>
변경후 소스
<!--language select-->
<img class="zbxe_widget_output" widget="language_select" skin="default" colorset="black" only_langtype="on" only_lang="ko" />
<img class="zbxe_widget_output" widget="language_select" skin="default" colorset="black" only_langtype="on" only_lang="ko" />
즉, 기존에 레이아웃에 기본적으로 박혀 있는 언어선택 소스 부분을 삭제하고 위젯소스로 대체를 한것이다.
3. 위젯코드 소개(관리자페이지에서 위젯코드를 생성하던지, 레이아웃편집에서 위젯코드를 생성해서 사용함)

4. 각각의 레이아웃에 다른 위젯코드 삽입.
- 한국어로 보여줄 레이아웃에서
<!--language select-->
<img class="zbxe_widget_output" widget="language_select" skin="default" colorset="black" only_langtype="on" only_lang="ko" />
- 영어로 보여줄 레이아웃에서
<!--language select-->
<img class="zbxe_widget_output" widget="language_select" skin="default" colorset="black" only_langtype="on" only_lang="en" />
이런 방법으로 활용하시면 한 사이트에서 한국어, 영어, 일본어, 중국어를 함께 운영하더라도 각각의 레이아웃에 위젯으로 사용할 언어타입을 지정해서 사용하면 되니까 각각의 언어별로 서비스가 가능하다.
--------------------------------------------------------------------
나름 고민해서 만든것이니 태클보단 응원을...^^





