웹마스터 팁
board.js 안의 ret_obj 로 추가변수 받아오기
2013.12.20 02:35
-----------------------------------------------------------------------서론 -----------------------------------------------------------------------------------------
modules/board/tpl/js/board.js
이 파일이 게시판의 공통JS 를 관리하는 곳입니다.
댓글입력 완료 후 해야할 행동 등을 규정해 놓은 곳입니다.
그 중에서 각종 함수들의 변수 중에 ret_obj 형식으로 XE 단에서 JS 로 변수를 받아오는게 있습니다.
예를 들어 댓글입력완료 후의 JS 기능을 살펴 보겠습니다.
board.js 에 다음과 같은 함수가 있습니다.
completeInsertComment(ret_obj)
var mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var comment_srl = ret_obj['comment_srl'];
...자. 우리는 저기서 mid,document_srl,comment_srl 이외의 다른 변수들을 받아오고자 합니다.
ex) 게시물 제목이라던가 member_srl 등등
이 예제에서는 document 를 작성한 회원의 member_srl 과 comment 를 작성한 회원의 member_srl 을 받아오는 작업을
해보도록 하겠습니다.
-----------------------
원리 및 작업순서
------------------------------------
filter 단에서 리스판스 콜백 정의 - controller 에서 콜백으로 쏴주기
(그 위의 param 들은 controller 에서 처리할 모든 변수들을 기입하는 곳입니다.
controller 단에서 추가변수를 입력받아 처리하려면 저 부분에 삽입하셔야 합니다.)
1. modules/board/tpl/filter/insert_comment.xml
이곳에서 리스판스 콜백에 받아오고 싶은 것들을 작성합니다.
response callback_func="completeInsertComment"
이곳에다가
tag name="cmt_member_srl"
tag name="doc_member_srl"
을 추가해 줍니다.
2. modules/board/board.controller.php
procBoardInsertComment()
함수를 찾아서 함수 제일 마지막 쪽에 다음과 같이 삽입합니다.
아마 밑과 똑같이 생긴 놈들이 보이실 겁니다. mid,document_srl ,comment_srl..바로 그 밑에 던져 주시면 됩니다.
$this->add('cmt_member_srl', abs($obj->member_srl));
$this->add('doc_member_srl', abs($oDocument->get('member_srl')));
3. modules/board/tpl/js/board.js
completeInsertComment(ret_obj)
로 찾아갑니다.
거기서 변수를 선언해 줍니다.
var doc_msrl = Math.abs(ret_obj['doc_member_srl']);
var cmt_msrl = Math.abs(ret_obj['cmt_member_srl']);
abs() 절대값을 이용한 이유는 익명게시판에서도 써먹기 위해서입니다.
이미 controller 에서 넘겨줄 때 절대값 적용을 했지만 확인사살을 위해 한번 더 절대값 먹여줍니다.
* 익명게시판에서는 member_srl 을 음수값으로 처리합니다 *
다 됐습니다.
이제 completeInsertComment 함수 에서
alert('글쓴이의 회원번호는 '+doc_msrl+'이며 댓쓴이의 회원번호는 '+cmt_msrl+'입니다.');
라고 뙇 넣어주시면
댓글 입력 후에 얼럿창이 뙇 하고 뜰것입니다.
이를 응용하여 title,parent_srl, content 등을 board.js 로 받아올 수가 있습니다.
다만 그 변수들이 게시판단에서 사용가능해야 하고
없으면 this->add 하기 전에 받고자 하는 내용의 모델을 임의호출 해야합니다.
P.S 크누파크 제작 당시의 옛 기억을 끄집어 내어 팁을 작성했습니다.
옛 기억이라 말이 좀 횡설수설했는데 잘 알아 보시려나 모르겠네요 ^^;;
댓글 10
제목 | 글쓴이 | 날짜 |
---|---|---|
팝업묘듈/팝업애드온 사용시 창이동 안될때.. [2] | 착한악마 | 2013.11.29 |
이모티콘 스킨(?) 이모티콘 팝업 창을 개선합시다 [11] | socialskyo | 2013.11.30 |
소셜 XE 페이스북 로그인 에러 해결 방법 | 신평 | 2013.11.30 |
XE 1.7 에서 사이트맵에서 '메뉴 노출 대상' 설정할때 복수 그룹 선택시 에러 수정법 [1] | sejin7940 | 2013.12.01 |
XE 지식인 모듈에서 일반 게시판처럼 검색하기 [3] | explode | 2013.12.02 |
구글 검색 상위 노출 팁 중 한가지 [4] | 다크진 | 2013.12.02 |
XE 1.7 대버전에서 board 게시판생성 하는방법 [4] | 때린데 또때려 | 2013.12.03 |
누리CMS 에디터 잡 버그 있으신 분들 보세요. [2] | explode | 2013.12.03 |
XE 1,7 에서 확장변수 기준으로 정렬 기능이 작동 안 하는 버그 수정법 [1] | sejin7940 | 2013.12.04 |
구글 네이버 검색 방지 로봇 robots.txt meta 태그 | jiom | 2013.12.05 |
검색 로봇 막기 (검색 bot 막기) | jiom | 2013.12.05 |
[속도UP팁] 최근게시물 위젯 속도개선 [5] | 소렌트. | 2013.12.09 |
nitrous.io 서버 간혈적으로 꺼질때 해결법 [3] | 노리넷[썰코] | 2013.12.09 |
XE 코어 1.7 버전에서 최근이미지 출력하기 [1] | 때린데 또때려 | 2013.12.14 |
새로운 쪽지 유무에 따라 이미지 변경하는 법 [2] | 멀티비타민 | 2013.12.16 |
하나의 호스팅 공간에서 여러개의 xe 사용하기 | 고마워XE | 2013.12.19 |
board.js 안의 ret_obj 로 추가변수 받아오기 [10] | KS | 2013.12.20 |
눈 내리기 [2] | 강하레 | 2013.12.22 |
우편번호 자체DB(csv변환)이용하기 [3] | 인터니즈3 | 2013.12.23 |
[10원팁]AJAX Uploader 본문삽입 버튼 색상을 변경합시다. [2] | socialskyo | 2013.12.25 |