묻고답하기
관리자만 다국어 게시물 쓸 수 있게 하는 방법이 있나요?
2012.12.27 22:47
안녕하세요,
XE 는 원래 게시물 작성 할때 다국어를 쓸 수 있게 하기위해 같은 게시물이라도 언어 선택에 따라 수정할 때 제각각 다르게 저장되는데요.
이 기능을 아래와 같은 방법으로 비활성화 시켰습니다.
http://www.xpressengine.com/index.php?document_srl=21100813&search_keyword=%EB%8B%A4%EA%B5%AD%EC%96%B4+%EC%88%98%EC%A0%95&mid=qna
그래서 현재는 게시물을 어느 언어를 선택해서 수정하더라도 동일하게 유지되는데요.
궁금한 것이, 이 기능을 일반 회원들에게는 적용하게 하되, 관리자만 원래 제공되는 다국어 게시글 기능을 사용할 수 있을지 궁금합니다.
<!--@if($logged_info->is_admin=="Y")--> 위의 함수는 보편적으로 관리자로 로그인할때만 특정 기능을 활성화 시키는 것으로 아는데, 위의 함수를 이용해서 다국어 게시글 기능을 관리자에게만 적용시킬 수 있을까요? 어설프게 적용시키려다가 오류만 났습니다.. 즉, 일반회원은 중국어건 영어건 한국어건 관계없이 수정할때는 통일되게 저장되지만, 관리자일 때만 동일 게시물을 언어에 따라 갈라 저장하고 싶은데, 그러한 방법 아시는 고수님 계시면 가르침 부탁드려요. 정말 감사합니다.
댓글 2
-
송동우
2012.12.28 09:49
-
genosaid
2012.12.28 14:16
안녕하세요 송동우 님?
방금 가르쳐주신대로 적용해보니 관리자만 다국어 처리 가능해졌습니다 !
매번 함수 적용할때마다 에러가나서 힘들었는데, 이렇게 시원히 해결해주셔서 너무 감사드립니다.
소중한 지식 나누어주셔서 진심으로 감사드립니다 !
감사합니다 ! (^_^) (_ _)
if($logged_info->is_admin=='Y') $obj->lang_code = Context::getLangType();
else $obj->lang_code = 'ko';
그리고
if(Context::get('logged_info')->is_admin=='Y')
{
if($source_obj->get('lang_code') != Context::getLangType()) {
// Change not extra vars but language code of the original document if document's lang_code doesn't exist.
if(!$source_obj->get('lang_code')) {
$lang_code_args->document_srl = $source_obj->get('document_srl');
$lang_code_args->lang_code = Context::getLangType();
$output = executeQuery('document.updateDocumentsLangCode', $lang_code_args);
} else {
$extra_content->title = $obj->title;
$extra_content->content = $obj->content;
$document_args->document_srl = $source_obj->get('document_srl');
$document_output = executeQuery('document.getDocument', $document_args);
$obj->title = $document_output->data->title;
$obj->content = $document_output->data->content;
}
}
}