XETOWN

안개 골목

최신 웹 개발에 대한 이야기들을 나눠보세요. XE개발에 대해서도 배워볼 수 있습니다.
개발이야기
2016.09.26 21:38

회원 차단 모듈 개발중.. 중간 잡담

조회 수 133 추천 수 0 댓글 21
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

XE TOWN에 자료공유 게시판 혹은 포인트 마켓을 통해 배포할 예정입니다.

 

조건

글 목록 페이지당 10개만 출력 하도록 설정됨

10개의 글중 차단된 회원들의 글이 4개

 

결과

1.차단된 회원의 글을 제외하고 6개 출력

2.차단된 회원의 글을 제외하고 10개 출력

 

제가 생각한 결과물은 2번이 맞지 않을까 생각됩니다.

그런데 2번으로 할 경우 document , comment 모듈의 수정이 불가피할거 같아서 고민이 큽니다.

가능한 수정없이 모듈 설치만으로 작동되길 원하고 있습니다만;;

 

여러분들 생각은 어떠신가요?

1,2 혹은..

3.기본적으로 1번 기능으로 작동 .. 하지만, document,comment 모듈 수정이 가능하다면 2번까지 작동 되도록

사실 3은 싫습니다.

퀄리티를 위해 하나만 결정해서 밀고 나가고 싶어요.

  • ?
    SimpleCode 2016.09.26 21:46:07
    2번도 기술적으로 가능합니다. 게시판 스킨을 보시면 $document_list 변수에 게시물이 전부 들어가 있습니다.

    차단한 회원을 제외한 게시물 목록을 $document_list에 넣고, 다시 Context::set()으로 덮어씌우면 됩니다. 전체 글 갯수나 전체 페이지 수도 마찬가지로 다시 덮어씌우면 됩니다.

    다만, 문제는 게시판을 두 번 호출하는 효과가 난다는 것이죠.
  • profile
    구름이 2016.09.26 21:51:37
    트리거 호출되면 Context::set() 이용해 덮어쓰길 해볼까 생각은 해봤습니다만, 요즘 이슈가 되고 있는 속도 저하가 신경 쓰이더라구요ㅠㅠ
  • ?
    SimpleCode 2016.09.26 21:55:33
    2번이 가장 이상적인 방법이라고 봐요. 페이지별로 글 수가 안 맞으면 사용자 입장에서는 뭔가 이상하거든요.
    가능하다면 XE 1.8.25에 추가된 document.getDocumentList 트리거를 이용해보는 것도 좋을 것 같네요.
  • profile
    구름이 2016.09.26 21:57:52
    그렇지 않아도 기진곰님이 1.8.25 업데이트 내용을 알려 주셔서 알았습니다.
    감사합니다.
  • profile
    웹지기 2016.09.26 21:47:17
    사실 차단게시물 때문에 목록 숫자가 줄어드는건 큰 문제는 아닐 수 있지만 갤러리형에서는 디자인 때문에 지정한 숫자가 출력되길 원하는 경우가 생길 수 있을거라 생각되어집니다.

    저와 같은 경우는 갤러리형의 경우 게시판 설정에서 PC와 모바일 목록 숫자를 각각 스킨의 특성에 따라 모든열의 숫자가 동일하게 유지되도록 세팅합니다.

    ***
    ***
    **

    이렇게 출력되는걸 좀 싫어하는 성격이라서요
  • profile
    구름이 2016.09.26 21:52:56
    차단이니..아예 나오지 않아야 됩니다.
    다시 보고 싶으면 회원 메뉴에서 차단 목록을 통해 풀면되니..
    ** 바꿔 버리면 별루죠.
  • profile
    웹지기 2016.09.26 22:16:11
    차단을 빼고 나머지를 채우는 것을 선호한다는 거죠
  • profile
    웹지기 2016.09.26 22:19:17
    저건 갤러리형 게시물 숫자를 표시한거에요. 1열 3개 2열 3개 3열 2개
    차단때문에 저렇게 되는걸 갤러리형 운영하는 곳에서는 선호하지 않을 수 있다는 거죠
  • profile
    구름이 2016.09.26 22:23:51
    네.. 맞아요..
    답은 2번입니다.

    코어 수정이 힘드신 분들이 사용을 못하는 모듈을 개발하기가 조금 그렇네요^^;
    코어 수정 따위 아무것도 아니신 분들도 코어 업데이트때 귀차니즘!!

    애물 단지 되어 버리는 모듈이 될수도 있겠고.. 차단 모듈 개발을 잠시 접어야 될런지 고민이네요 ㅠㅠ
  • profile
    기진곰 2016.09.26 22:26:53
    라이믹스 전용으로 만드신다면 필요한 기능 팍팍 지원해 드리겠습니다 ㅋㅋ

    문서 검색 쿼리에 이미 특정 module_srl을 제외하는 기능이 있는데, 비슷한 방법으로 member_srl을 제외하는 기능을 추가하는 게 어렵지는 않을 테니까요...
  • profile
    구름이 2016.09.26 22:31:38
    라이믹스 전용 ! ㅎㅎ
    말씀 감사드립니다.
    이왕 하는거 XE & 라이믹스 둘다 작동 되었으면 좋겠습니다.
  • profile
    기진곰 2016.09.26 23:12:37
    반드시 필요한 기능이 있다면 XE에 풀리퀘스트 넣어 보세요. 요즘 꽤 잘 받아주는 편입니다.
  • profile
    기진곰 2016.09.26 21:53:19

    XE 1.8.25에서 추가된 document.getDocumentList(before) 트리거를 사용하면 문서 목록에 임의로 조건을 추가하거나 목록을 대체할 수 있습니다. 슈퍼 캐시 모듈에서 페이징 캐시 및 검색 결과 캐시를 위해 사용하는 트리거인데, 잘 사용하면 상상할 수 있는 거의 모든 기능을 구현할 수 있지만 잘못 사용하면 게시판 망가지는 지름길이지요.

     

    댓글은... 굳이 코어수정 없이 처리하자면 documentItem 클래스를 상속받아서 getComments() 메소드만 다시 정의하고, moduleObject.proc(after) 트리거에서  $oDocument를 이것으로 바꿔치기하는 방법이 있겠네요. 실제로 이 메소드를 호출하는 것은 스킨 실행 시점이니, 미리 바꿔치기하면 댓글을 두 번 불러오지 않아도 됩니다.

     

    물론 문서 목록도 같은 방법을 사용해서 $document_list를 바꿔치기하면 XE 1.8.25 미만 버전에서도 사용할 수 있겠지만, 목록을 두 번 불러오게 되니 슈퍼 캐시 모듈이 안 좋아할 겁니다 ㅋㅋㅋ

  • profile
    구름이 2016.09.26 21:55:33
    1.8.25 이상 에서만 작동되게 배포 해버릴까요? ㅎㅎ
    정말 진지하게 고민 해봐야겠네요.ㅋ
  • profile
    socialskyo 2016.09.26 22:11:44
    기술적인 내용은 모르지만 2번이 맞을듯 하고요. 만약에 속도 문제가 예상이 되어 1번으로 한다면

    지속적이고 지속적인 끊임없는 무한 반복 오브 무한 반복 같은 질문을 계속해서 매일 매일 받을거라 예상 합니다. ㅎㅎ
  • profile
    구름이 2016.09.26 22:24:46
    1,2번으로 하든 아마 질문은 꽤 있을듯 합니다.ㅠ
  • profile
    윤삼 2016.09.27 09:29:50

    구름이님, 지나가다 궁금해서 질문 드리는데요.

    저는 그동안 스킨단에서 목록 필터링할 때 코어에 내장된 document_list 대신,
    $total_count로 $args->list_count를 잡고 getDocumentList로 $output을 얻어낸 다음,
    $output->data를 루프 돌리면서 필터링할 문서들을 unset($output->data[$key]) 처리하고,
    최종적으로 $document_list = array_slice($output->data, $module_info->list_count*($page-1), $module_info->list_count, true) 로 정의내려서 사용했었거든요.
    (물론 정말 최종적으로는 $page_navigation 변수를 다시 정리를 해줘야 하구요)

    이렇게 하면서 말씀하셨던 2번 방식을 해본 적이 있었는데, 이 경우에도 게시판을 두 번 호출하는 셈인가요?
    저도 하면서 좀 알딸딸하긴 했거든요.
    코어에서 만들어주는 $document_list를 바로 사용하는 게 아니니까 한 번만 호출하는 거 같기도 하고, 아닌 것 같기도 하고요.

  • profile
    구름이 2016.09.27 09:38:35
    스킨에서 getDocumentList 를 호출하시나요?
    스킨 출력전 코어에서 document_list 생성을 위해 getDocumentList를 사용하는걸로 알고 있어요.
    그렇다면 게시판 목록 쿼리를 두번 사용하는것 아닐까요?
  • ?
    Gunmania 2016.09.27 09:50:02
    재작년 공모전때 모듈로 작업하다가 시간 문제로 애드온으로 먼저 글/쪽지만 처리해서 냈던거군요. 모듈로 다시 작업하려고 했었는데 시간이 안나서 완성을 못시키고 있었던..
  • profile
    구름이 2016.09.27 10:33:09
    시간 괜찮으시면 이어서 완료 해주세요.
  • ?
    마신 2016.10.03 12:04:41

    와 이런기능 기다렸는데... 비슷한 기능의 애드온이 있어 잠깐 썼다가 사진 첨부시 새로고침이 안되는 버그 때문에 못썼는데...기대 됩니다.

     

    2번도 좋지만 1번의 경우 모듈 수정이 없다면 유지관리를 위해 1번을 원하는 사람들도 많을거 같습니다.

     

    일단 1번 방법으로 하시고 추후 다른버전으로 만드는게 어떨까요?


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
화제의 글 소스공유 스크롤바를 아래로 내렸을때 숨겨둔 컨텐츠 표시하기( jquery Infinite Scrolling ) 8 구름이 2016.12.05 80
248 소스공유 스크롤바를 아래로 내렸을때 숨겨둔 컨텐츠 표시하기( jquery Infinite Scrolling ) 8 구름이 2016.12.05 85
247 개발이야기 포인트 선물 모듈 업데이트 중입니다 :) 11 file SimpleCode 2016.12.04 104
246 개발이야기 Nginx, Apache PageSpeed 모듈 7 우성군 2016.11.28 83
245 XE 개발팁 사이트 메뉴에 메뉴 타입 추가하는 방법 3 file 갸라 2016.11.28 60
244 개발이야기 포인트 플러스 모듈 관리자 페이지 UI를 열심히 다듬고 있습니다. 1 file SimpleCode 2016.11.27 66
243 최신 웹소식 최근 국내 웹브라우저 점유율 8 file 휘즈 2016.10.19 153
242 개발이야기 슈퍼캐시 사용시 캐시파일 재생성 오류 패치 69 기진곰 2016.10.05 282
241 개발이야기 회원 차단 모듈 .. (수요조사) 20 구름이 2016.09.28 157
» 개발이야기 회원 차단 모듈 개발중.. 중간 잡담 21 구름이 2016.09.26 133
239 최신 웹소식 디도스 공격의 계절 13 기진곰 2016.09.24 196
238 최신 웹소식 삼성전자, 세계 최고 성능 ‘960 PRO’ 2TB 공개 12 하늘희 2016.09.21 155
237 개발이야기 로딩속도 0.01초에 도전합니다. (슈퍼캐시) 46 file 기진곰 2016.09.17 561
236 개발이야기 회원 메모 개발중... 중간 잡담 21 file 구름이 2016.09.12 169
235 소스공유 DLNA 서버 설치 (miniDLNA) 3 하늘희 2016.07.30 143
234 소스공유 CloudFlare DDNS 설정하기 (ddclient 이용) 1 하늘희 2016.07.27 126
233 XE 개발팁 레이아웃 경로 가져오기 윈컴이 2016.07.14 91
232 소스공유 제이쿼리 원형 프로그레스바입니다. 2 이온디 2016.06.18 146
231 소스공유 부트스트랩 그리드 템플릿 이온디 2016.06.18 78
230 소스공유 CSS로 그리는 아이콘입니다. 6 이온디 2016.06.18 132
229 소스공유 로딩바UI 스크립트 1 이온디 2016.06.18 107
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...