위젯 프로그램 자료실
글수 113
| 라이센스 | GPL2 |
|---|---|
| 기타 라이센스 | |
| 적용 버전 | 정식버전(1.0이후) |

일전에 팁으로 남겼던 이전글, 다음글을 이번에 위젯으로 만들어 보았습니다.
스킨은 버튼형 스킨과, 리스트형 스킨 두개를 기본 제공합니다.
- 설치 -
- division.zip의 압축을 푼 후 ./제로보드XE/widgets/ 폴더 안에 복사하여 주세요.
- 그 후 관리자페이지 -> 위젯 메뉴에서 이전글, 다음글 출력 위젯을 코드생성해서 스킨의 원하는 위치에 삽입하여 주시면 됩니다.
- 옵션-
- 이전글(정렬식 중 제일 최근 글), 다음글(정렬식 중 제일 오래된글) 형태로 2개를 만들어놔야 이전글, 다음글 표기가
원활하게 됩니다.
(이전글 위치와 다음글 위치를 따로따로 원하는 곳에 삽입하시라고 분리했습니다.)
- 제목 부분을 입력하시면 리스트형에서 '제목' : [내용] 으로 표기 됩니다. (버튼형은 버튼명이 됩니다.)
- 목록 수 : 기본 1개인데 여러개 출력 가능합니다.(제한없음)
(리스트형에서 유효하며, 버튼형에서 실행시 버튼이 여러개 생기게 되니 리스트형용으로만 사용하십시오.)
- 제목 글자수 : 리스트형에서의 제목길이 출력 입니다.
- 정렬 대상 : 등록순인지 글 수정순인지로 정렬 합니다.
- 검색 내용 적용 : 이전글 다음글의 표기에 대해 검색 내용이 적용된 상태에서 정보를 구할지 여부입니다.
- 분류 내용 적용 : 카테고리 선택시 선택된 카테고리 내에서 정보를 구할지 여부입니다.
- 모듈 : 위 화면에는 짤렸는데 기본적으로 모듈을 자신이 사용할 모듈로 선택해주셔야 합니다.
모듈을 여러개 중복으로 선택시 선택된 모듈에서 계산하여 정렬방식순으로 이전글, 다음글을 구합니다.
적용방법(기본 스킨으로 설명)
먼저 위 설치 항목에서 얻어온 코드를(이전글 1개, 다음글 1개 총 두개의 코드값필요)
./modules/board/skins/xe_board/view_document.html 약 144줄
<!-- 목록, 수정/삭제 버튼 -->
<div class="contentButton">
<div style="float:left;">
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" mid_list="모듈명" />
</div>
<div style="float:left;">
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="다음글" division_type="next" order_target="list_order" search_type="Y" category_type="Y" mid_list="모듈명" />
</div>
<!--@if($module_info->default_style != 'blog')-->
<a href="{getUrl('document_srl','')}" class="button"><span>{$lang->cmd_list}</span></a>
<!--@end-->
<!--@if($oDocument->isEditable())-->
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','')}" class="button"><span>{$lang->cmd_modify}</span></a>
<a href="{getUrl('act','dispBoardDelete','document_srl',$oDocument->document_srl,'comment_srl','')}" class="button"><span>{$lang->cmd_delete}</span></a>
<!--@end-->
</div>
주황색의 태그를 만들어주시고 빨간색으로 표기된 형식의 위젯 코드를 삽입해주세요.<div class="contentButton">
<div style="float:left;">
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" mid_list="모듈명" />
</div>
<div style="float:left;">
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="다음글" division_type="next" order_target="list_order" search_type="Y" category_type="Y" mid_list="모듈명" />
</div>
<!--@if($module_info->default_style != 'blog')-->
<a href="{getUrl('document_srl','')}" class="button"><span>{$lang->cmd_list}</span></a>
<!--@end-->
<!--@if($oDocument->isEditable())-->
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','')}" class="button"><span>{$lang->cmd_modify}</span></a>
<a href="{getUrl('act','dispBoardDelete','document_srl',$oDocument->document_srl,'comment_srl','')}" class="button"><span>{$lang->cmd_delete}</span></a>
<!--@end-->
</div>
밑줄 친 내용에서 타이틀명과 사용하려는 모듈을 선택해주세요.
(위 사항 모두 위젯코드로 설정하면 자동 출력되는 사항이니 특별한 일이 없는한 위젯코드는 수정하지 않으셔도 됩니다.)
ps : 명칭에 대해서 설명드리겠습니다.
이전글 : 원래대로(?)라면 오래된 내용순으로 적합한 이름인듯하나, 보통 위에서 아래로 글을 읽어가기 때문에 최근글을 이전글이라
이름을 명했습니다.
다음글 : 해당글에서 하단에 표기되는 다음글의 의미는 내가 보고 있는 글의 다음 목록(밑에글) 글이라고 생각하여 다음글이라 이름을 명했습니다.
위 두개 모두 서로 말이 잘못된 것 같다고 생각이 되시면 타입은 이전글(prev)로 하시고 title명으로만 '다음글' 이라고 명명하셔도 됩니다.
ps : DocumentItem 함수들 적용 시켰습니다.
스킨에서 사용되는 변수 정보와 함수 정보는 게시판 리스트 스킨에서 사용되는 형식은 거의 다 될겁니다.
이미지 섬네일 등 필요한 내용은 게시판 스킨의 함수선언법 등을 참조하여 스킨 제작시 도움이 되시길 바라겠습니다.
@@ 다음글, 이전글 수정 합니다. @@ // 08.07.25 20:00
- 위젯 옵션 추가 -
- {$document_srl} 등을 선택하여 그 값으로 부터 앞뒤를 계산하도록 옵션 추가 합니다.
(블로그나 최근글 위젯 등에서 사용하심 되겠네요)
- $document_srl 변수명을 기본적으로 표기하게 해놨는데요. 상황에 따라서 $oDocument->document_srl 이나 Context::get('document_srl') 로 바꿔주셔야 합니다.
(이 부분은 사용하시는 스킨에서 다른 변수 선언 명을 참조해주세요.)
- 스킨 수정 -
- 별거 아닌 수정이지만 중요하다고 생각도 들기에 수정해서 다시 올립니다.
- 전체모듈대상으로 이전글 다음글 사용시 현재 접속중인 모듈명이 부득이하게 포함되는 주소체계라서 이를 수정합니다.
@@ 전체파일을 다시 올립니다. 다운 받으셔서 덮어 씌워주세요. ^^

2008.07.22 18:00:05 (*.1.113.122)
라르님 일단 감사합니다 ..
한가지 질문좀 해볼게요..
만약 게시판 1 ,2 ,3 이 있고 그 세 게시판이 모두 xe 기본 스킨을 쓰고 있다고 가정
라르님의 위젯을 xe 기본 스킨에다 적용 .
모듈명에 게시판1 모듈을 씀 .
그럼 게시판 2,3에도 게시판 1의 글의 주소가 나옴
하지만 모듈명이 달라 2에서 다음글을 클릭시 잘못된 요청이라고 합니다 ..
게시판 1,2,3 이 따로 각 게시판의 글을 이전글 다음글로 따올려고 하면
스킨을 여러개 만들어서 따로 적용해야하나요 ?
한가지 질문좀 해볼게요..
만약 게시판 1 ,2 ,3 이 있고 그 세 게시판이 모두 xe 기본 스킨을 쓰고 있다고 가정
라르님의 위젯을 xe 기본 스킨에다 적용 .
모듈명에 게시판1 모듈을 씀 .
그럼 게시판 2,3에도 게시판 1의 글의 주소가 나옴
하지만 모듈명이 달라 2에서 다음글을 클릭시 잘못된 요청이라고 합니다 ..
게시판 1,2,3 이 따로 각 게시판의 글을 이전글 다음글로 따올려고 하면
스킨을 여러개 만들어서 따로 적용해야하나요 ?
2008.07.22 18:09:25 (*.234.236.247)
getUrl 항목을 찾으셔서 getUrl('','document_srl','$oDivision->document-srl') 이렇게 바꿔주시면 (앞에 ''를 먼저 선언)
http://도메인/3944 <- 이것처럼 모듈 선언하지 않는 문서명으로만 나오게 됩니다.
헌데 그렇게 하지 않은 이유는 카테고리와, 검색타겟, 검색내용 을 죄다 없애버리기 때문에 다음에 넘어가면 연관성이 초기화 되지요
getUrl('mid,'','document_srl',$oDivision->document ..... 중략)
앞에 mid를 '' 이렇게 선언해주면 문제가 없겠네요.
http://도메인/3944 <- 이것처럼 모듈 선언하지 않는 문서명으로만 나오게 됩니다.
헌데 그렇게 하지 않은 이유는 카테고리와, 검색타겟, 검색내용 을 죄다 없애버리기 때문에 다음에 넘어가면 연관성이 초기화 되지요
getUrl('mid,'','document_srl',$oDivision->document ..... 중략)
앞에 mid를 '' 이렇게 선언해주면 문제가 없겠네요.
2008.07.22 20:56:08 (*.79.64.78)
버튼형 스킨을 입맛에 맞게 바꿔주세요.
<a href="{getUrl('document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button">
<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button">
<a href="{getUrl('document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button">
<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button">
2008.07.22 21:21:12 (*.1.113.122)
죄송하지만 한가지만 더 물어볼게요 ..
전체 글의 다음글 이전글 말구요..
각 해당 게시판의 다음글 이전글 추출할려면 어떻게 해야하나요 ?
예를 들자면 .. 게시판 1,2,3 이있고 글 a,b,c,d,e,f,g,h(글작성순서는 알파벳순서)가 있다고 가정하죠 ..
게시판1 엔 a,e,g 의 글이있고
게시판2 엔 b,d,f의 글이 있고
게시판3 엔 c,h의 글이 있다고 하면
게시판 1의 e글에서 이전글로는 a글이 다음글로는 g글로 ..
게시판 2의 d글에선 이전글로는 b글이 다음글로는 f글로.
그러니깐 ... 전체글에서 다음글 이전글을 글작성순으로 추출하는방법이라니라,
각 해당 게시판의 글작성순으로 추출할려면 어떻게해야하나요 ..?
그리고 정말정말 답변 감사합니다 ..~
이렇게 염치없이 계속 질문드리는게 죄송하네요 ㅠㅠ
전체 글의 다음글 이전글 말구요..
각 해당 게시판의 다음글 이전글 추출할려면 어떻게 해야하나요 ?
예를 들자면 .. 게시판 1,2,3 이있고 글 a,b,c,d,e,f,g,h(글작성순서는 알파벳순서)가 있다고 가정하죠 ..
게시판1 엔 a,e,g 의 글이있고
게시판2 엔 b,d,f의 글이 있고
게시판3 엔 c,h의 글이 있다고 하면
게시판 1의 e글에서 이전글로는 a글이 다음글로는 g글로 ..
게시판 2의 d글에선 이전글로는 b글이 다음글로는 f글로.
그러니깐 ... 전체글에서 다음글 이전글을 글작성순으로 추출하는방법이라니라,
각 해당 게시판의 글작성순으로 추출할려면 어떻게해야하나요 ..?
그리고 정말정말 답변 감사합니다 ..~
이렇게 염치없이 계속 질문드리는게 죄송하네요 ㅠㅠ
2008.07.22 23:01:40 (*.79.64.78)
- 모듈 : 위 화면에는 짤렸는데 기본적으로 모듈을 자신이 사용할 모듈로 선택해주셔야 합니다.
모듈을 여러개 중복으로 선택시 선택된 모듈에서 계산하여 정렬방식순으로 이전글, 다음글을 구합니다.
님은 위의 설명을 제대로 읽으시지 않으신 것 같은데...
모듈 선택하셔서 위젯 만드시면 mid_list="board" 같은 항목이 더 생깁니다.
각 모듈별로 지정해주시면 되고요...
지금 하나의 스킨으로 여러 모듈을 사용해서 그러한 문제를 이야기하시는 것 같네요(맞죠?)
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" mid_list="{$mid}" />
이렇게 하시면 모듈별로 뽑 겠네요.
만약 특정 게시판만 위 처럼 하고 나머지는 전체 모듈에서 찾겠다면...
<!--@if($mid=='모듈명')-->
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" mid_list="{$mid}" />
<!--@else-->
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" />
<!-@end-->
이런식으로 구분하셔도 되고요... 이건 스킨 기능보단 입맛에 맞게 하셔야 겠네요.
$mid로 구분이 안되실 경우(변수를 못찾을 경우) Context::get('mid') 이렇게 하셔도 됩니다.
모듈을 여러개 중복으로 선택시 선택된 모듈에서 계산하여 정렬방식순으로 이전글, 다음글을 구합니다.
님은 위의 설명을 제대로 읽으시지 않으신 것 같은데...
모듈 선택하셔서 위젯 만드시면 mid_list="board" 같은 항목이 더 생깁니다.
각 모듈별로 지정해주시면 되고요...
지금 하나의 스킨으로 여러 모듈을 사용해서 그러한 문제를 이야기하시는 것 같네요(맞죠?)
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" mid_list="{$mid}" />
이렇게 하시면 모듈별로 뽑 겠네요.
만약 특정 게시판만 위 처럼 하고 나머지는 전체 모듈에서 찾겠다면...
<!--@if($mid=='모듈명')-->
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" mid_list="{$mid}" />
<!--@else-->
<img class="zbxe_widget_output" widget="division" skin="button" colorset="normal" title="이전글" division_type="prev" order_target="list_order" search_type="Y" category_type="Y" />
<!-@end-->
이런식으로 구분하셔도 되고요... 이건 스킨 기능보단 입맛에 맞게 하셔야 겠네요.
$mid로 구분이 안되실 경우(변수를 못찾을 경우) Context::get('mid') 이렇게 하셔도 됩니다.
2008.07.23 01:16:05 (*.79.64.78)
아놔 ㅡㅠ; 님아 제발!!
위젯코드의 title이 아니라 ./widgets/division/skins/button/list.html 에서
<a href="주소" title="게시물제목" .... 이거 title내용 지우라고요 ㅡㅡ;;;
ps : 님 사이트 보고 그런 증상 나온걸 찾아보니 게시물 제목에 html이 들어갔더군요.
아마도 운영자 특권으로 색 지정한거 같은데요...(공지사항 게시물)
스킨 파일에서 title="내용" 이걸 title='내용' 이렇게 작은 따옴표로 감싸주면 해결 될 듯 싶습니다.
그리고 공지사항 글에대한 제외여부도 위젯 구분할 수 있도록 추가해놔야겠네요 ^^
위젯코드의 title이 아니라 ./widgets/division/skins/button/list.html 에서
<a href="주소" title="게시물제목" .... 이거 title내용 지우라고요 ㅡㅡ;;;
ps : 님 사이트 보고 그런 증상 나온걸 찾아보니 게시물 제목에 html이 들어갔더군요.
아마도 운영자 특권으로 색 지정한거 같은데요...(공지사항 게시물)
스킨 파일에서 title="내용" 이걸 title='내용' 이렇게 작은 따옴표로 감싸주면 해결 될 듯 싶습니다.
그리고 공지사항 글에대한 제외여부도 위젯 구분할 수 있도록 추가해놔야겠네요 ^^
2008.07.23 17:25:32 (*.137.164.216)
라르게덴님 방갑습니다.
좋은 위젯 만들어 주심에 다시 한번 더 감사를 드립니다.
아래 설명 참고 하시어 소스 좀 알려 주세요?
현재 사용버젼은 1.0.5(4403)입니다.
1.일단 전에 알려 주시었던 팁으로 바로 아래 그림처럼 만들어 사용을 합니다.

현 사용중인 방법 입니다.↑
2.위젯 설치 후 테스트 결과.

이렇게 나옵니다.↑ 일단은 먼저 설치 된 소스를 수정 안해도 충돌이 없는 것 같아 다행입니다^^(강추)
3.질문 현재의 위젯을 써서 아래처럼 나오게 하는 방법이 없을까요?

바로 위에 방법으로 이전글과 다음글 버튼이 좌우로 정렬이 되고 양쪽 중앙쪽으로 제목이 출력이 되게 할 수가 없을지요?
소스를 알려 주시면 수정을 하겠습니다.
그럼 멋진 답변 기대 합니다^^
위젯 만들어 주심에 또 한번 더 감사를 드립니다^^수고 하셨습니다.
ㅋㅋ 또 추천이 될려나!!!!ㅋ
좋은 위젯 만들어 주심에 다시 한번 더 감사를 드립니다.
아래 설명 참고 하시어 소스 좀 알려 주세요?
현재 사용버젼은 1.0.5(4403)입니다.
1.일단 전에 알려 주시었던 팁으로 바로 아래 그림처럼 만들어 사용을 합니다.
현 사용중인 방법 입니다.↑
2.위젯 설치 후 테스트 결과.
이렇게 나옵니다.↑ 일단은 먼저 설치 된 소스를 수정 안해도 충돌이 없는 것 같아 다행입니다^^(강추)
3.질문 현재의 위젯을 써서 아래처럼 나오게 하는 방법이 없을까요?
바로 위에 방법으로 이전글과 다음글 버튼이 좌우로 정렬이 되고 양쪽 중앙쪽으로 제목이 출력이 되게 할 수가 없을지요?
소스를 알려 주시면 수정을 하겠습니다.
그럼 멋진 답변 기대 합니다^^
위젯 만들어 주심에 또 한번 더 감사를 드립니다^^수고 하셨습니다.
2008.07.23 18:23:06 (*.234.236.247)
(추천수:
1 / 0)
리스트형 skin과 버튼형 스킨을 서로 버무려야 겠군요.
<div style="float:left;">
이전글 위젯
</div>
<div style="float:right;">
다음글 위젯
</div>
스킨(button형으로 하시는게 쉽습니다.)
<span class="division"><!--@foreach($widget_info->document_list as $division_no)-->{@$division_no = new documentItem($division_no->document_srl)}<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button"><span>{$widget_info->title}</span></a><!--@end--></span>
-----
이전글용
<span class="division"><!--@foreach($widget_info->document_list as $division_no)-->{@$division_no = new documentItem($division_no->document_srl)}<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button"><span>{$widget_info->title}</span></a>{$division_no->getTitle($widget_info->subject_cut_size)}<!--@end--></span>
다음글용
<span class="division"><!--@foreach($widget_info->document_list as $division_no)-->{@$division_no = new documentItem($division_no->document_srl)}{$division_no->getTitle($widget_info->subject_cut_size)}<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button"><span>{$widget_info->title}</span></a><!--@end--></span>
button 형스킨을 하나 복사하시고 해당 내용 문구를 추가해주세요.
그래서 이전출력 용과 다음출력 용의 스킨을 따로따로 사용하시고 최종 적용은 제일 위에 내용대로 하세요.
그리고 쪽지도 받으니 기능상 문제점이 아니면 쪽지로 보내주십시오. 고맙습니다.
<div style="float:left;">
이전글 위젯
</div>
<div style="float:right;">
다음글 위젯
</div>
스킨(button형으로 하시는게 쉽습니다.)
<span class="division"><!--@foreach($widget_info->document_list as $division_no)-->{@$division_no = new documentItem($division_no->document_srl)}<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button"><span>{$widget_info->title}</span></a><!--@end--></span>
-----
이전글용
<span class="division"><!--@foreach($widget_info->document_list as $division_no)-->{@$division_no = new documentItem($division_no->document_srl)}<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button"><span>{$widget_info->title}</span></a>{$division_no->getTitle($widget_info->subject_cut_size)}<!--@end--></span>
다음글용
<span class="division"><!--@foreach($widget_info->document_list as $division_no)-->{@$division_no = new documentItem($division_no->document_srl)}{$division_no->getTitle($widget_info->subject_cut_size)}<a href="{getUrl('mid','','document_srl',$division_no->document_srl, 'listStyle', '', 'cpage','')}" title="{$division_no->getTitle()}" class="button"><span>{$widget_info->title}</span></a><!--@end--></span>
button 형스킨을 하나 복사하시고 해당 내용 문구를 추가해주세요.
그래서 이전출력 용과 다음출력 용의 스킨을 따로따로 사용하시고 최종 적용은 제일 위에 내용대로 하세요.
그리고 쪽지도 받으니 기능상 문제점이 아니면 쪽지로 보내주십시오. 고맙습니다.
2008.07.25 19:30:12 (*.86.51.12)
라르게덴님의 팁을 보고 잘쓰고 있습니다. 그런데 이런 위젯을 만드시다니 대단하십니다..
그런데 적용해보니 버튼 들이나 다른것들은 다 잘 되는데...링크 값이 다르게 받아 오는 이유는 뭘까요~~~
버전 1.0.5입니다..현재 페이지가 2860이면 이전글 2874/ 다음글/2857로 나오는 이상한 일이 초래하는군요..
앗 그리고 목록형,웹진형,....등등 만 되나요..블러그형은 적용이 안돼나요?
블러그형으로 해봤더니 안돼는듯 합니다. 팁보고 할때는 블러그형도 돼던데.. 이 위젯으로 하니 다음글..이전글이 안뜨네요~~~
지금 한참 고민 중이네요....ㅋㅋㅋ 이러면서 공부하는것이라 생각하고 ..몰두중입니다.
테스트 페이지 입니다 확인좀 해주세요...충고 부탁드립니다..^^ 죄송합니다..이런부탁드려서요~~
그런데 적용해보니 버튼 들이나 다른것들은 다 잘 되는데...링크 값이 다르게 받아 오는 이유는 뭘까요~~~
버전 1.0.5입니다..현재 페이지가 2860이면 이전글 2874/ 다음글/2857로 나오는 이상한 일이 초래하는군요..
앗 그리고 목록형,웹진형,....등등 만 되나요..블러그형은 적용이 안돼나요?
블러그형으로 해봤더니 안돼는듯 합니다. 팁보고 할때는 블러그형도 돼던데.. 이 위젯으로 하니 다음글..이전글이 안뜨네요~~~
지금 한참 고민 중이네요....ㅋㅋㅋ 이러면서 공부하는것이라 생각하고 ..몰두중입니다.
테스트 페이지 입니다 확인좀 해주세요...충고 부탁드립니다..^^ 죄송합니다..이런부탁드려서요~~






감사히 잘 쓰겠습니다^^