묻고답하기
송동우님 답변좀 부탁드립니다.
2011.11.05 16:37
board 1.3.1 / xe_official 게시판 스킨 기준 설명
xe - modules - board - skins - xe_official - view_document.html 열고
line 59 쯤에
{$oDocument->getContent()}
이것 바로 밑에
<block cond="$logged_info->member_srl==$oDocument->get('member_srl')||$logged_info->is_admin=='Y'">
{@ $url = getenv('REQUEST_URI')}
<block cond="$click">
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('update xe_document_extra_vars set value = "'.$click.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "확장변수명"');
$url = preg_replace("/\&click\=on|\&click\=off/", "", $url);
}
<script>location.href="{$url}"</script>
</block>
<input type="button" value="on" onClick="location.href='{$url}&click=on'" />
<input type="button" value="off" onClick="location.href='{$url}&click=off'" />
</block>
이것을 삽입
board 1.3.1 / xe_official 게시판 스킨 기준 설명
xe - modules - board - skins - xe_official - view_document.html 열고
line 59 쯤에
{$oDocument->getContent()}
이것 바로 밑에
<block cond="$logged_info->member_srl==$oDocument->get('member_srl')||$logged_info->is_admin=='Y'">
{@ $url = getenv('REQUEST_URI')}
<block cond="$click">
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('update xe_document_extra_vars set value = "'.$click.'" where document_srl = '.$document_srl.' and module_srl = '.$module_info->module_srl.' and eid = "확장변수명"');
$url = preg_replace("/\&click\=on|\&click\=off/", "", $url);
}
<script>location.href="{$url}"</script>
</block>
<input type="button" value="on" onClick="location.href='{$url}&click=on'" />
<input type="button" value="off" onClick="location.href='{$url}&click=off'" />
</block>
이것을 삽입
설명
게시판 리스트에서 글읽기를 클릭하면
글이 끝나는 하단에 버튼 두개가 생깁니다.(글쓴이와 관리자에게만 나타남)
on 버튼과 off 버튼이 나타납니다.(테스트용으로 이렇게 한겁니다.)
on을 클릭하면 확장변수값이 on으로 바뀌고 off를 클릭하면 확장변수가 off로 바뀝니다.
페이지 수정을 할 필요없이 바로 수정이 가능하게 한 겁니다.
일단 그대로 카피해서 확장변수명만 알맞게 수정해서 사용해 보세요
바로 작동되는 것을 볼 수 있을겁니다.
작동되는 것을 확인했다면
이제 붉은 색 글씨들만 원하는 대로 수정하면 됩니다.
주의 할 점은 그 페이지의 encoding이 ansi 타입이기 때문에 한글을 입력하면 깨져보일겁니다.
전에 번 글자를 입력하는 방식으로 사용자 변수를 적어주고 lang파일에서 한글을 입력하면 됩니다.
버튼을 클릭하면 페이지가 두번 로딩됩니다.
한번은 쿼리를 날리면서 로딩되고 두번째는 변경된 값을 적용하기 위해 페이지 리로딩이 일어납니다.
그래서 다른 페이지 클릭때보다 시간이 조금 더 걸립니다.
이건 정상적인 현상입니다.
만일 그렇게 하지않으면 서버쪽에 변경된 값을 클라이언트 컴에 출력하고자 하면 일부러 f5키를 눌러야 하는데
그걸 자동으로 리로딩하게 한 것이니 이상한 것이 아닙니다.
잘 응용해서 사용하시기 바랍니다.//
[님께서 다른곳에 올려주셨던 소스 입니다.
수정해서 사용하려고 테스트 중입니다.
문제는 lang 파일 수정하고 나서 테스트 해보니까
계속해서 리로딩이 되면서 페이지가 열리지 않는데요.. 어디를 수정해야 할지요?
아예 리로딩이 않되도 상관없을 듯 싶은데 방법좀 부탁드려 봅니다.. ]
댓글 2
-
CMD
2011.11.05 17:23
-
수달장군
2011.11.06 14:38
그렇게 했습니다 -
송동우
2011.11.05 17:58
계속해서 리로딩이 된다면
의심가는 곳이
$url = preg_replace("/\&click\=on|\&click\=off/", "", $url);
이 부분인데요..... 여기서 \표시는 역슬래쉬입니다.....특수문자 앞에만 붙는 것이구요.........
이걸 제대로 사용하지 않으면 리로딩할때 주소뒤에 변수값이 계속 붙어와서 리로딩이 될 겁니다.
lang파일 수정전에 그냥 카피해서 붙여넣고 확장변수명만 게시판의 확장변수명으로 수정하면 잘 되나요?
lang파일 수정은 위 소스에서 한글을 사용하지 않으면 수정할 필요가 없습니다.
-
수달장군
2011.11.05 18:45
네 그건 잘됩니다. 한글을 사용하기 위해서 lang파일 수정했구요 에디트 플러스로 UTF8 BOM이 없는걸로 저장했습니다
lang파일을 수정하실때 UTF8 BOM이 없는 걸로 하셨나요?
메모장으로 하셨으면 에디트 플러스를 사용해 보세요^^