XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
XE 의 다국어 기능이 굉장히 편한 장점이 있으나
제대로 인지하지 못한채 사용하면 굉장한 오해를 낳는 경우가 있다
글 최초 작성시의 언어 가 XE 글 DB 에 같이 기록이 된다 ( documents 테이블 내부에 lang_code 라는 칼럼에..)
그 후 다른 언어를 기반으로 해서, 해당 글을 수정하면
글이 실제로는 분리가 되어버린다 ( 다른 언어의 동일글은 document_extra_vars 라는 테이블에 저장이 된다 )
(같은 글에 대해 언어를 바꿔서 저장하기 위한 용도이다)
이게 문제가 생기는 경우는
글쓴이가 글을 수정했다고 생가하고 수정을 했는데,
자신이 썼던 언어와 다른 언어기반으로 사이트를 접근해서 수정한 경우..
글이 하나의 언어에서는 수정되기 전 화면이 나오고, 다른 언어에서는 수정된 후의 화면이 나온다는 점이다
(그러다보니 마치 자기 글이 수정이 안 된 것처럼 인식이 된다는 것이다)
관리자한테야 이게 다국어 기능을 위한 거라고 설명하면 되지만... 유저에겐 이걸 인지시키기가 굉장히 어렵다
(그렇다고 유저들이 이 다국어 기능을 쓰기 위해. 즉 글 번역을 위해 수정 기능을 쓸 일은 극히 드물것이다)
이 문제를 해결하기 위한 편법을 기재해둔다.
원리는, 관리자인 경우는 원래 다국어 기능 그대로 유지를 해주나..
일반 유저의 경우는, 글 수정을 눌렀을때 무조건 최초 글 등록시의 언어기반으로 언어체계를 강제로 맞춰주는 것이다.
즉, 영문사이트를 보고 있다가도 원본글이 한글이였던 걸 수정하면, 강제로 글 수정 링크주소에 l=ko 를 넣어서 한글기준으로 수정이 되게 해주는 형태이다.
코드야 스킨마다 다 다르지만, 기본 코드 기준으로 설명하면..
원래 <a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','')}">{$lang->cmd_modify}</a> 형태로 되어있는 코드를..
<!--@if($logged_info->is_admin=='Y' || ($lang_type != $oDocument->get('lang_code')))-->
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','','l',$oDocument->get('lang_code'))}">{$lang->cmd_modify}</a>
<!--@else-->
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','')}">{$lang->cmd_modify}</a>
<!--@end-->
이렇게 바꿔주면 된다.