XpressEngine에 관련 내용에 대해서 이야기 합니다.
글 수 193
일전에 팁으로 남겼던 이전글, 다음글을 이번에 위젯으로 만들어 보았습니다.
스킨은 버튼형 스킨과, 리스트형 스킨 두개를 기본 제공합니다.
- 설치 -
- 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') 로 바꿔주셔야 합니다.
(이 부분은 사용하시는 스킨에서 다른 변수 선언 명을 참조해주세요.)
- 스킨 수정 -
- 별거 아닌 수정이지만 중요하다고 생각도 들기에 수정해서 다시 올립니다.
- 전체모듈대상으로 이전글 다음글 사용시 현재 접속중인 모듈명이 부득이하게 포함되는 주소체계라서 이를 수정합니다.
@@ 전체파일을 다시 올립니다. 다운 받으셔서 덮어 씌워주세요. ^^