블로그 형식의 게시판을 만들고 있습니다.
어느정도 제가 원하는 모양으로 만들긴 했습니다.
그런데 하나가 해결이 안되네요.
코어를 안 건드리고 목록갯수를 유동적으로 바꾸고 싶습니다.
스킨에서 가능한가요?
예를 들면 게시판 설정에는 목록수가 20 이지만,
스킨에서 수치를 입력해서 원하는 숫자만큼 목록을 가져오게 되는 기능입니다.
이게 가능한가요?
블로그 형식의 게시판을 만들고 있습니다.
어느정도 제가 원하는 모양으로 만들긴 했습니다.
그런데 하나가 해결이 안되네요.
코어를 안 건드리고 목록갯수를 유동적으로 바꾸고 싶습니다.
스킨에서 가능한가요?
예를 들면 게시판 설정에는 목록수가 20 이지만,
스킨에서 수치를 입력해서 원하는 숫자만큼 목록을 가져오게 되는 기능입니다.
이게 가능한가요?
두분 모두 감사드립니다.
제대로 구현하는건 간단한 문제가 아니네요.
윤삼이 말씀 주신 파일을 밤새 보긴했는데
제 능력을 벗어나는 부분인듯 합니다.
두분이 걱정해 주신 서버 부하는 특정한 사람들만(관리자라던지) 할 수 있게 하려던 부분도 있어서
크게 걱정은 하지 않았는데 생각해 보니 그것도 문제가 될 소지가 있네요.
단순히 페이징이나 기타 조건없이 원하는 목록 갯수만큼 불러오게 하려던게 목적이다 보니
질문에는 목록갯수만 언급했었는데
제가 질문을 두리뭉실하게 잘못 드린것 같네요.
조금더 공부를 해 봐야 겠습니다.
두분 모두 감사합니다.
그렇다면 스킨단만으로는 어렵겠네요ㅜ
역시 아래 클라드룹님 말씀처럼 애드온이나 모듈 제작을 하는 게 어떻까 싶네요.
url에 user_list_count=4 같은 파라미터가 들어가 있으면,
애드온이나 모듈을 통해 list_count를 user_list_count값으로 가로채는 거죠.
(더불어 SimpleCode님이 말씀하신 문제도 있으니 권한 체크를 하거나 숫자 최대값 제한을 해주면 좋겠고요)
트리거를 활용하면 구현 가능할것 같긴합니다.
moduleHandler.init - before 에서 페이지수나 목록 변수를 조절 해보세요.
애드온 실행 시점이 아니라 트리거를 활용한다면 document.getDocumentList before 시점이 가장 확실합니다.
다른 시점에 list_count나 page_count를 변경하더라도 게시판 실행 과정에서 게시판 설정값으로 다시 덮어씌워지거나, 위에서 누가 말씀하신 것처럼 목록 페이지수가 안 맞는 부작용이 발생할 수 있으니 목록 추출 직전에 정확하게 변조해야지요.
말씀 주신 부분은 스킨만 제작하는 저로써는 미지의 영역이라 한참을 공부해야 할것 같습니다.
예시 들어 주신 부분도 계속 들여다 보고, 구글 검색도 해 보고 있는데
역시나 어렵네요.
혹시나 성공하게 되면 자랑하러 올께요.
모두 감사 드립니다.
질문과 상관없는 댓글 죄송합니다...만..
스킨이 너무 아름다워서 댓글을 안 쓸수가 없네요.
레이아웃, 게시판, 위젯 할거 없이 최고 퀄리티군요!
쓸만한 레이아웃 만들어 배포해 보겠다고 맘 먹은게 벌써 십년이 다 되어 가는데 ㅠㅠ
저한테는 꿈만 같은 스킨들이네요!
1. 코어에서 실행하는 목록 작업 외에 스킨에서 목록 작업을 한번 더 거치게 되므로 방문자수에 따라 서버에 부하를 줄 수 있습니다.
2. 따로 목록을 만들 때 board.view.php나 document.model.php 등을 뜯어보고 코어에서 실행하는 방법을 참고하면 도움이 될 수 있습니다. list_count(목록수), page_count, page, total_count, total_page 등을 구해서 페이지 핸들러를 적용시키주면 될 겁니다. 그 결과를 목록 변수($document_list)와 페이지 내비게이션 변수($page_navigation)에 덮어쓰면 됩니다.
3. 만약 본문 읽기 모드인데 해당 본문이 목록의 1페이지가 아니라 2 이상의 다른 페이지에 있다면, 문서 번호만으로 페이지를 찾아주는 작업도 해야 할 겁니다. 코어에서는 왠지 게시판 설정에서 입력된 목록수를 기준으로 찾을 것 같은데요. 마찬가지로 코어에서 document page를 찾아주는 방식을 참조해서 새로운 page값을 알아낸 뒤 Context::set(~, ~) 등의 구문으로 덮어쓰기하면 될 겁니다. 그러고 나서 위의 2번 과정을 시도하면 되겠네요.
그 외에 추가적인 고려사항이 있다면 다른 분들께서 알려주실 겁니다 😎