- 스크랩(threads) v12025년 02월 03일
- TheStorybook
- 작성자
- 2025.02.03.:07
eb_threads.scrap.v1
list.blade.php
@if($is_logged) @php $oDB = DB::getInstance(); // 스크랩 카운트를 가져오는 쿼리 실행 => $scrap_count $query = 'SELECT count(*) AS count FROM member_scrap WHERE document_srl = ?'; $stmt = $oDB->query($query, $document->document_srl); $result = $stmt->fetchAll(); $scrapped_count = $result[0]->count; // 스크랩 회원 리스트를 가져오는 쿼리 실행 => $scrap_member_list $member_columns = preg_filter('/^/', 'member.', ['member_srl', 'user_id', 'email_address', 'phone_number', 'user_name', 'nick_name', 'extra_vars']); $query = 'SELECT '. implode(',', $member_columns) .' FROM member_scrap LEFT JOIN member ON member_scrap.member_srl = member.member_srl WHERE member_scrap.document_srl = ?'; $stmt = $oDB->query($query, $document->document_srl); $result = $stmt->fetchAll(); $scrap_member_list = $result; @endphp @if($scrapped_count > 0) <a href="javascript:;" onclick="doDeleteScrap('{$document->document_srl}'); return false;" class="cnt-box"><i class="scrap-fill"></i></a> @else <a href="javascript:;" onclick="doScrap('{$document->document_srl}'); return false;" class="cnt-box"><i class="scrap"></i></a> @endif @endif
script.js
function doDeleteScrap(document_srl) { saveScrollPosition(); // 스크롤 위치 저장 shouldRestoreScroll = true; // 스크롤 복원을 활성화 var params = []; params['document_srl'] = document_srl; exec_json( 'member.procMemberDeleteScrap', params, function () { location.reload(); }, function(response){ console.log(response); return false; }); } function doScrap(document_srl) { saveScrollPosition(); // 스크롤 위치 저장 shouldRestoreScroll = true; // 스크롤 복원을 활성화 var params = []; params.document_srl = document_srl; exec_json( 'member.procMemberScrapDocument', params, function () { location.reload(); }, function(response){ console.log(response); if(response.error=='-1'){ // const mid = window.location.pathname; const mid = window.location.pathname.replace(/^\/(.*)\/$/, '/$1'); // console.log(mid); // window.location.href = mid + '/login'; window.location.href = mid + '/?act=dispMemberLoginForm'; return false; } }); }
scrap v2
@php // scrap v2 $document_srl = $document->document_srl; $args = new stdClass(); $args->document_srl = $document_srl; $args->member_srl = $logged_info->member_srl; $scrapdocs = executeQuery('member.getScrapDocument', $args); $scrapdocs_count = 0; $scrapdocs_count = $scrapdocs->data->count; @endphp <a href="javascript:;" onclick="toggleScrap(this, {{$document_srl}}, {{$scrapdocs_count}} ); return false;" class="cnt-box"><i class="scrap"></i></a> <script> function toggleScrap(button, document_srl, scrapdocs_count) { var params = new Array(); params['document_srl'] = document_srl; if (scrapdocs_count > 0) { // 스크랩 취소 exec_json('member.procMemberDeleteScrap', params); $.ajax({ success: function() { // 아이콘 변경 $(button).find("i").attr("class", "scrap"); $(button).attr("onclick", "toggleScrap(this, " + document_srl + ", 0)"); } }); } else { // 스크랩하기 exec_json('member.procMemberScrapDocument', params); $.ajax({ success: function() { // 아이콘 변경 $(button).find("i").attr("class", "scrap-fill"); $(button).attr("onclick", "toggleScrap(this, " + document_srl + ", 1)"); } }); } } </script>
'XE(Rhymix) > 변수 응용' 카테고리의 다른 글
새로고침 없는 좋아요 버튼 (0) 2025.02.03 글추천 버튼 (새로고침 됨) (0) 2025.02.03 스크랩 ec_imin (0) 2025.02.03 해시태그 자바스크립트 (0) 2025.02.03 라이믹스 XE 설치경로 확인 코드 (0) 2025.02.03 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)