자유게시판

스케치북 이전글-다음글 기능의 두 가지 문제

2017.06.25 03:23
310
0

스케치북 스킨을 사용하는 많은 이유 가운데 하나가 이전글-다음글 기능이라고 하더군요.

근데 이게 몇몇 문제가 있는 것으로 보입니다.

어떤 식으로 해결하는 게 옳을지는 아직 잘 모르겠지만, 그래도 문젯거리인 것 같긴 하고 해서 기록 삼아 일단 적어 봅니다.

 

1. photoswipe 애드온과의 충돌

: 스케치북에서 이전글-다음글 기능을 사용하면 좌우키를 눌렀을 때 이전글이나 다음글을 로딩하는 게 가능합니다.

: 포토스와이프 애드온에서도 좌우키를 누르면 이미지 이동이 가능합니다.

: 따라서 둘이 충돌을 일으킵니다.

: 이 문제는 이미 보고된 바 있지만, 아직 뚜렷한 해결책이 없는 것 같습니다. https://github.com/rhymix/rhymix/issues/571

: 일단 제 경우엔 스케치북 스킨의 js 파일에서 키 이벤트를 삭제해서 좌우키 이벤트는 포토스와이프에만 적용되도록 했습니다(글을 열람하고 있을 때 좌우키로 이동하는 거 자체가 그다지 쓸모 없는 거 같아서요ㅎㅎ).

 

2. 임시저장 글이 있을 때 페이지 이동 불가

: 같은 페이지에 있는 글끼리는 이동이 잘 됩니다. 문제는 연결된 글이 서로 다른 페이지에 있을 때 생깁니다.

: 스케치북은 로드된 글이 목록 맨 앞에 있을 때에는 이전 페이지의 마지막 글을 불러오고, 맨 끝에 있을 때에는 다음 페이지의 첫 글을 불러오게 돼 있습니다. 서로 다른 페이지에 있더라도 나름 유기적 연결을 고려한 거죠.

: 그런데 이 때 모듈 내에 임시저장된 문서가 있을 경우, getDocumentList 쿼리로 불러온 목록이 엉키게 되면서 이전글이나 다음글을 불러올 수 없게 됩니다.(이 쿼리를 불러올 때 목록에 임시저장글도 포함되게 돼 있거든요. 개인적 추측으론 XE타운에서도 이 문제 때문이었는지, 다른 페이지의 문서로 이전글/다음글을 불러오는 부분을 아예 삭제한 거 같더군요)

: 이 문제는 쿼리를 실행할 때 임시저장 글을 제외하는 조건을 넣는 식으로 해결해야 할 것 같습니다. 자세한 방법은 더 연구를 해봐야겠지만요ㅎ

:::: [추가] 혹시나 해서 _read.html에서 if($mi->except_notice=='Y') $prevnext_except_notice=1; 아래에 $args->statusList = array('PUBLIC', 'SECRET'); 를 넣으니까, 임시저장글이 있어도 이전글-다음글 기능이 잘 되는군요;;; 이런 제길슨, 사용팁이 돼버렸어. XE 만세! 라이믹스 만세!

윤삼 Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.

댓글 4

  • 2017.06.25 05:23 #639707
    전 애초에 키보드 키를 눌러서 페이지를 이동하는 단축키 기능을 안 좋아하기 때문에 그냥 안 씁니다.

    브라우저 자체적으로 지원하는 단축키라면 모르겠지만, 웹사이트마다 단축키가 다 다르기 때문에 굉장히 헷갈리고 불편하더군요.
  • 2017.06.25 05:45 #639723
    일리 있는 말씀이세요. 괜시리 복잡하기만 해서 이용자 어리둥절한 것보다야 단촐한 사이트가 훨씬 좋은 것 같아요.
  • 2017.06.25 06:34 #639760
    어떤 사이트에서 글 읽다가 댓글 다는데 실수로 댓글 영역 바깥쪽이 클릭된 상태에서 키보드 타이핑을 하니까 단축키 기능 때문에 갑자기 페이지가 넘어가버리는데 굉장히 화나더군요.
  • 2017.06.25 06:56 #639792
    여기 xe타운에서도 그런 경험이 있을 정도니까요. 그때의 짜증이란 정말... 십분 공감합니다.