묻고답하기
추천, 비추천 누르기전 "추천하시겠습니까?" 라고 확인 메세지 뜨게 하는 방법
2014.03.01 18:18
xe 1.7.3.7 버전이며, 스케치북 버전은 1.6.3.6 입니다.
추천을 누르면 "추천하시겠습니까" 라고 메세지가 뜬후 , 확인버튼을 누르면 추천이 되게끔 하고 싶은데요..
어떻게 해줘야하나요?
sejin7940님이 Core 의 js 파일을 고쳐서 사용할 수도 있지만
doCallModuleAction 함수는 게시판 외에 다른 모듈에서도 많이 사용될 수 있는 함수여서
자칫하면 불필요한 confirm 창이나, 중복된 confirm 이 나올 수도 있습니다.
스킨에서 추천/비추천/신고 쪽에서, doCallModuleAction 호출전에 confirm 을 직접 넣는게 더 안전하다는데
어떻게 하는지 아시는분 계시나요?
<!--// Vote -->
<div cond="$mi->votes!='N'" class="rd_vote">
<a class="bg_f_f9 bd_login" href="#" onclick="alert('추천하시겠습니까?');doCallModuleAction('document','procDocumentVoteUp','{$oDocument->document_srl}');return false;"|cond="$is_logged" style="border:2px solid #{$mi->color};color:#{$mi->color};">
<b>♥ {$oDocument->get('voted_count')}</b>
<p>{$lang->cmd_vote}</p>
</a>
<a cond="!$mi->votes" class="bg_f_f9 blamed bd_login" href="#" onclick="doCallModuleAction('document','procDocumentVoteDown','{$oDocument->document_srl}');return false;"|cond="$is_logged">
<b>♥ {$oDocument->get('blamed_count')}</b>
<p>{$lang->cmd_vote_down}</p>
</a>
<a cond="$mi->declare" class="bg_f_f9 blamed declare bd_login" href="#" onclick="doCallModuleAction('document','procDocumentDeclare','{$oDocument->document_srl}');return false;"|cond="$is_logged">
<b>☏</b>
<p>{$lang->cmd_declare}</p>
</a>
</div>
이거 집어넣어주면 되나요? 그냥 덮어씌우기 하면 되나요??
_read.html 파일 건드려주는거 맞나요?
_read.html 파일이 어디있는지좀 알려주세요..ㅠㅠ 쌩초보라...ㅠㅠ
댓글 20
-
키스투엑스이
2014.03.01 19:20
-
루팡쿠팡
2014.03.01 19:25
아니... 예 아니오로 저렇게 해주고 싶은데 저게 맞나해서.. 올린 질문입니다..ㅠ
-
GG
2014.03.01 19:47
confirm....
-
루팡쿠팡
2014.03.01 19:54
?무슨말을 하고 싶으신건지;
-
GG
2014.03.01 21:15
alert 말고 confirm 을 원하시는 것 같아서요.
-
루팡쿠팡
2014.03.02 05:30
컴퓨터 한번 배워본적 없는 초짜라 무슨 말씀하시는지 잘 이해가 되지 않습니다..
다만.. sejin7940님께서 confirm 이 낫다고 하시길래 아.. 그게 좋은건가보다.. 해서 이렇게 제가 이해를 잘 못할걸수도 있는데..
어찌됬던.. alert 방법이 좋은가요,,? 정말 이해가 되지않아서 드리는 질문입니다..ㅠ.ㅠ
-
키스투엑스이
2014.03.02 10:47
alert는 단순 창 띄우기 용이라서 지금 님이 위에 올리신대로 적용하면
추천버튼을 눌렀을때 추천하시겠습니까? 가 뜨긴하지만 확인을 누르는 즉시 추천이 바로 됩니다. 그냥 창 띄우기 용입니다... 좋고 나쁘고의 문제가 아닙니다. 코드 자체가 달라요.
다만 confirm(이 맞을껍니다)은 예/아니오 선택이 가능하기때문에 님이 원하는 기능을 구현 할 수 있다는겁니다. -
루팡쿠팡
2014.03.03 19:22
아래와 같은 방법이 doCallModuleAction 호출전에 confirm 을 직접 넣는방법인가요?
-
루팡쿠팡
2014.03.01 20:55
저렇게하면 되나요..? 아시는분 답변좀 부탁드리겠습니다..
-
okiz
2014.03.01 21:21
위 _read.html 의 제일 상단에 아래와 같은 스크립트를 삽입합니다.
<script>
function vote_confirm(a,b)
{
up_msg = "추천하시겠습니까?";
down_msg = "비추천하시겠습니까?";
if(a=="Up") {v_msg = up_msg;}
else {v_msg = down_msg;}
if(confirm(v_msg)){doCallModuleAction("document","procDocumentVote"+a,b);}
}
</script>
추천부분 onClick 에는 다음을 넣습니다.
onClick="vote_confirm('Up','{$oDocument->document_srl}');"
비추천부분 추천부분 onClick 에 다음을 넣습니다.
onClick="vote_confirm('Down','{$oDocument->document_srl}');"
-
루팡쿠팡
2014.03.02 05:32
추천부분 onClick 에는 다음을 넣습니다.
에서 추천부분이 어디 위 어디 아래인지좀 알수있을까요...?
-
okiz
2014.03.02 05:44
procDocumentVoteUp
procDocumentVoteDown
으로 찾으시면 됩니다.
-
루팡쿠팡
2014.03.02 07:04
procDocumentVoteUponClick="vote_confirm('Up','{$oDocument->document_srl}');"
이렇게 완성하면 되나요?
아니면 onClick="vote_confirm('Up','{$oDocument->document_srl}');"procDocumentVoteUp
이렇게 뒤에 넣는거나요?
-
okiz
2014.03.02 14:37
그냥 onClick= 안의 부분을 제가 적은 것으로 다 바꾸면 됩니다.
위의 소스에서 보자면 아래와 같이 넣으시면 됩니다.
// 추천부분
<a class="bg_f_f9 bd_login" href="#" onclick="vote_confirm('Up','{$oDocument->document_srl}');"|cond="$is_logged" style="border:2px solid #{$mi->color};color:#{$mi->color};">
// 비추천부분
<a cond="!$mi->votes" class="bg_f_f9 blamed bd_login" href="#" onclick="vote_confirm('Down','{$oDocument->document_srl}');"|cond="$is_logged">
-
루팡쿠팡
2014.03.03 19:16
이 방법이 doCallModuleAction 호출전에 confirm 을 직접 넣는방법인가요?
그리고 무슨 www 파일에서 어느파일을 건드려야하죠??
-
okiz
2014.03.04 01:08
제가 제일 처음 언급한 <script> 내용들과 함꼐 넣어 주셔야 합니다.
추천하기를 애드온 쓰시는지, 게시판 자체 추천버튼을 쓰시는지 모르니..말씀드리기가 힘드네요.
-
루팡쿠팡
2014.03.04 02:19
스케치북 게시판 자체 추천버튼을 사용하고 있습니다.
-
okiz
2014.03.04 03:36
팁으로 제작하였습니다. 참고하세요.
http://www.xpressengine.com/tip/22632700
덤으로 추천수 업데이트까지 넣었습니다..
-
루팡쿠팡
2014.03.15 18:40
okiz님 이거 왜 지우셨나요?> ㅠㅠ
-
키스투엑스이
2014.04.05 22:29
혹시 아직 찾고계시는 중인가요?
http://www.xpressengine.com/index.php?mid=download&page=2&package_srl=22652987
올려뒀었습니다만 까먹고 있었네요^^;
선택이 가능한 코드를 이용하셔서 '예' 일경우 아래코드가 적용되게 하고, '아니오' 일 경우 그냥 창 끄시면 될듯합니다.