팁/튜토리얼

드래그하여 페이지/문서 이동 애드온

2019.02.01 04:40
1,761
0

1.1.1

코드 정리

조건문 타입에러 수정

 

기능적으로는 마지막 업데이트이지 않을까 싶습니다

불친절하게도 관리자설정이 따로 없습니다

tpl/index.html에서 터치영역을 직접 입력하여 사용하세요

^^

 

 

1.1.0

이름 변경 (drag_to_change_page -> drag_interaction)

이전글 다음글 이동 기능 추가

toucharea 영역 지정은 필수가 되었습니다. (목록, 문서 영역 각각)

스크롤 시에 드래그이벤트 반응 문제 해결

passive 옵션 사용하여 스크롤 성능 저하 해결

이제 tpl/index.html 파일만 수정해서 쓰시면 됩니다.

여러 환경에서 테스트 해보지 못했기 떄문에 피드백 부탁드려요~!

 

 

1.0.2

스크롤 시 반응성을 조정하였습니다. 

 

 

1.0.1

콜백 함수 사용 가능

기본 너비 60

기본 딜레이 삭제

 

댓글 76

  • 2019.02.07 04:47 #1166335
    이게 현재 글 작성자 글 보기 위젯의 쿼리 입니다.

    <query id="getDocumentList" action="select">
    <tables>
    <table name="documents" />
    <table name="modules" />
    </tables>
    <columns>
    <column name="documents.*" />
    </columns>
    <conditions>
    <condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" notnull="notnull" />
    <condition operation="equal" column="documents.module_srl" var="module_srl" filter="number" pipe="and" />
    <condition operation="notin" column="documents.module_srl" var="no_module_srl" filter="number" pipe="and" />
    <condition operation="notin" column="documents.document_srl" var="no_document_srl" filter="number" pipe="and" />
    <condition operation="more" column="documents.regdate" var="regdate" filter="number" pipe="and" />
    <condition operation="in" column="documents.status" var="statusList" pipe="and" />
    <condition operation="equal" column="documents.module_srl" default="modules.module_srl" pipe="and" />
    <condition operation="notequal" column="modules.module" default="page" pipe="and" />
    <group pipe="and">
    <condition operation="more" column="documents.readed_count" var="readed_count" pipe="and" />
    <condition operation="more" column="documents.voted_count" var="voted_count" pipe="and" />
    </group>
    <group pipe="and">
    <condition operation="more" column="documents.readed_count" var="readed_count_or" pipe="or" />
    <condition operation="more" column="documents.voted_count" var="voted_count_or" pipe="or" />
    </group>
    </conditions>
    <navigation>
    <index var="sort_index" default="documents.regdate" order="desc" />
    <list_count var="list_count" default="7" />
    </navigation>
    </query>


    위 쿼리의 결과가 글 읽는 화면에서 뿌려지고 있습니다.
  • 2019.02.07 05:05 #1166355
    흠.. 글쎼요. 제가 쓴 코드는 쿼리를 직접 호출하는 형태가 아니고 document 모델의 getDocumentList함수를 통해 호출하는거라.. 그 부분이 충돌한다고 보기는 어렵긴한데,,

    혹시 말씀하신 위젯에서 document_list 변수에 다른 값을 덮어씌웠다거나 그런 케이스일 가능성이 있는 것 같습니다.
  • 2019.02.07 05:05 #1166359
    정 안되면 지금 스킨에서 가져온 것에 변수를 부여하는 방법도 고민해봐야 할 것 같네요.
  • 2019.02.07 05:18 #1166385
    무식한 방법이지만 가장 확실한 스킨에서 미리 구한 것을 애드온에 사용할 수 있도록 변수를 만들어 끼워 넣었습니다.
    <block loop="$document_list=>$no,$document" cond="$document_srl==$document->document_srl">
    <li cond="$document_list[$no+1]->document_srl"><a href="{getUrl('document_srl',$document_list[$no+1]->document_srl)}"><span class="prev">이전글</span> {$document_list[$no+1]->getTitle(34)} <span class="thumbUpNum" cond="$document_list[$no+1]->getCommentCount()">[{$document_list[$no+1]->getCommentCount()}]</span></a>{@ $prevSrl = $document_list[$no+1]->document_srl}</li>
    <block cond="$is_prevnext">
    <!--@if($is_prevnext=='P')-->
    {@ $prevSrl = $prevnext_doc}
    <li><a href="{getUrl('document_srl',$prevnext_doc,'page','','cpage','')}"><span class="prev">이전글</span> {$prevnext_title} <span class="thumbUpNum" cond="$prevnext_comment">[{$prevnext_comment}]</span> </a></li>
    <!--@else-->
    {@ $nextSrl = $prevnext_doc}
    <li><a href="{getUrl('document_srl',$prevnext_doc,'page','','cpage','')}"><span class="next">다음글</span> {$prevnext_title} <span class="thumbUpNum" cond="$prevnext_comment">[{$prevnext_comment}]</span> </a></li>
    <!--@end-->
    </block>
    <li cond="$document_list[$no-1]->document_srl"><a href="{getUrl('document_srl',$document_list[$no-1]->document_srl)}"><span class="next">다음글</span> {$document_list[$no-1]->getTitle(34)} <span class="thumbUpNum" cond="$document_list[$no-1]->getCommentCount()">[{$document_list[$no-1]->getCommentCount()}]</span></a>{@ $nextSrl = $document_list[$no-1]->document_srl}</li>
    </block>
    일단 잘 되네요!
  • 2019.02.07 05:19 #1166392
    쓰던걸 다시 쓰는게 가장 좋긴하죠
    _document.html 에 있는 코드도 지워주셔요
  • 2019.02.07 05:20 #1166401
    네, 당연히 그 코드는 지웠구요. 엇.. 뭔가 이상하게 이동하네요. 같은 게시판으로 이동하긴 하는데 뭔가 꼬였는지 더 들여다 봐야겠습니다.
  • 2019.02.07 05:24 #1166410
    복붙 하면서 마지막에는 - 를 해야 하는데 위에것 복사해서 그대로 + 가 붙어서 그런거네요 ㅋ
    잘됩니다!!
    이 생각을 왜 못했을까요 ㅋㅋㅋ
  • 2019.02.07 05:27 #1166417
    고생하셨습니다 ^^ 그럼 잘 사용해주세요
  • 2019.02.07 08:47 #1166604
    감사히 잘 쓰겠습니다.
    고맙습니다 ^^
  • 2019.02.09 00:50 #1167658
    사용중에 아주 중요한 문제점이 발견되었습니다.
    목록 중 게시글 선택 시 선택한 목록에 음영이 표시되는 것이 동작하지 않게 되어 잘 터치한건지 실제 게시글로 이동하기 전까지ㅜ확인이 안되는 문자점 입니다. 터치 반응성 조절을 위해 추가된 것 때문에 발생한 현상이 아닌가 추측이됩니다.
  • 2019.02.09 01:31 #1167700
    혹시나 해서 js 파일에서 확인해 보니
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    로 안보이게 처리한게 있네요. 제거하니 이제 잘 보입니다. 이게 안보이면 절 선택된건지 확인이 안될때가 있어 보이게 하는게좋아보입니다.
    저희집 네트워크가 자주 불안할 때가 많은데 잘 안눌린지 알고 계속 누르는 경우가 생기더라구요.
  • 2019.02.09 08:42 #1167932
    오.. 그렇군요. 다음 버전에서는 제거하도록 하겠습니다.
  • 2019.02.09 13:06 #1168034
    고맙습니다. 잘 사용해보겠습니다!
  • 2019.02.11 03:10 #1169136
    아주 좋은 애드온입니다
  • 2019.02.17 15:20 #1174997
    감사합니다!
  • 2019.02.27 03:45 #1181548
    정말 훌륭한 애드온 감사히 잘 쓰고 있습니다. 다른 게시판에선 아무 문제 없는데 타임라인 게시판에서 두번 째 페이지 부터 문제가 생깁니다. 첫번 째에서 두번째 글로 이동할 때쯤 페이지 1에 있는 두번 째 게시물로 돌아가네요. 타임라인이 원래 글이 존재하지 않는 게시판이고 이런 저런 문제가 있는 건 알지만 이 애드온이 글을 모아 보는 게시판에서 더욱 진가를 발휘될 수 있을텐데 말이죠. ^^
    페이지 이동은 문제가 없는데 본문글 이동만 문제입니다.
  • 2019.02.27 11:10 #1181810
    타임라인 게시판 자체가 문서를 가지고 있지 않기 때문에 페이지가 변경되는 상황에서 다음글이나 이전글은 불가능할 것 같습니다. 타임라인 모듈에서는 처리가 가능하지만요.
    저희는 타임라인 모듈에서는 해당 상황에서 페이지가 이동되도록 오늘 고쳤네요.
  • 2019.02.28 05:27 #1182511
    저희는 본문 영역에서의 사용은 잠시 보류하기로 했습니다. 사용하다 보니 핀치 줌 기능에 영향을 주더라구요. 제가 요즘 살짝 노안이 오는 지라 핀치 줌 기능이 더욱 중요하다 판단되어 일단 보류했습니다. 후에 본문에서도 게시판 페이지 하단 페이지 이동 처럼 특정 영역을 지정해서 그 부분에만 적용하든지 해야겠습니다.
  • 2019.06.25 05:11 #1234095
    감사히 사용중에 있습니다.
  • 2020.02.19 12:23 #1342868
    다시 배포하실 의향은 없으신가요?? 꼭 필요한 자료인데 아쉽습니다 ㅠ
  • 2021.01.21 12:15 #1512769
    이거정말 가지고싶네요.ㅠㅠ
  • 2022.04.22 23:07 #1679471
    재판매좀 부탁드려요 ㅠㅠ
  • 2022.04.25 08:07 #1680022
    어? 저는 다운로드가 되는데요? 왜 되죠? ㄷㄷ
  • 2022.04.25 08:11 #1680026
    아, 콘텐츠를 구매했었던 사람들만 다운로드가 가능한가보네요.
    판매기간이 지난 다른 자료들은 다운로드가 안 되는 걸 보니... (근데 또 제가 이걸 예전에 다운 받았던가 싶기도 합니다ㅜ)
  • 2022.04.25 08:34 #1680045
    어흑...ㅜㅜ 왜 전에 못봤을까 싶어요..
    심심하실때 타임머신개발좀 부탁드려요 ㅜㅜ
  • 2022.04.25 10:23 #1680061
    타임머신 개발 괜찮네요ㅎㅎㅎ