웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
미령전설님의 압박에 만들어봤습니다. ㅠㅠ
함수 내용이 깁니다. 아래 파란 색 내용을 클릭해서 복사하여 사용하세요.
modules/document/document.model.php
제일 하단에 "}" 전에 추가해주세요.
modules/document/queries/getDivisionDocument.xml
파일경로명으로 저장하셔서 해당경로에 추가해주세요
modules/document/queries/getDivisionComment.xml
파일경로명으로 저장하셔서 해당경로에 추가해주세요
modules/document/queries/getDivisionTag.xml
파일경로명으로 저장하셔서 해당경로에 추가해주세요
출력하기(스킨파일 등에 추가해주세요)
설명
getDivision_next(),getDivision_prev() <- 기본 값입니다. list_order정렬, 문서번호,검색내용을 자동 입력합니다.
옵션(next 함수 기준으로 설명)
getDivision_next('update_order') <- 정렬 기준을 update 순으로 합니다.
{@$divi->list_count = 3}
getDivision_next('',$divi) <- 리스트 출력 카운터 수를 추가 합니다.
getDivision_next('update_order',$divi) <- update 순으로 리스트 출력 카운터 수를 추가 합니다.
{@$divi->document_srl = $oDocument->document_srl} <- 특정 게시물 부터 구하기
(위젯이나 게시물 리스트 등에는 document_srl 변수가 없기 때문에 임의의 게시물 번호를 입력해 줍니다.
변수의 경우는 각 위젯, 게시물 리스트에서 표기하는 document_srl 변수명으로 대체해주세요)
{@$divi->search_target = context::get('search_target')} <- 특정 검색 대상
{@$divi->search_keyword = context::get('+ 'search_keyword')} <- 특정 검색어로 부터 구하기
{@$divi->no_search = 'Y'} <- 검색된 상태라도 이를 무시, 전체 게시물에서 구합니다.
{@$divi->list_count = 3} <- 리스트 출력 카운터 수
최대 5가지 항목으로 원하는 결과물을 출력합니다.
검색어의 경우 search_target,search_keyword가 동시에 선언 되어야 합니다.
스킨에 입력 형태
foreach안에서의 $division_no->document_srl 와같은 결과물을 xe_documents 테이블의 컬럼 내용 전체를 뽑아낼 수 있습니다.
ps1 : 저는 document 모듈에 안넣고 애드온으로 해서 쓰기 때문에 위 내용 적용 시 오류가 발생할 가능성이 있습니다.
(하지만 테스트는 해보았기에 될거로 봅니다.)
ps2 : 왠만하면 이 이상 요구하는건 좀... -_-;;
이전글,다음글 얻기 (검색결과 까지 포함) (수정)
2008.06.05 14:37
이상한 댓글이 생기면서 제 게시물이 안릭혀졌습니다. -ㅅ-;;
어찌하다보니 게시물이 없어져 버려서 다시 적을게요 ^^
어찌하다보니 게시물이 없어져 버려서 다시 적을게요 ^^
미령전설님의 압박에 만들어봤습니다. ㅠㅠ
함수 내용이 깁니다. 아래 파란 색 내용을 클릭해서 복사하여 사용하세요.
modules/document/document.model.php
제일 하단에 "}" 전에 추가해주세요.
function getDivision_next($order,$division){
$oDocumentModel = &getModel('document');
return $oDocumentModel->_getDocumentDivision('next',$order,$division);
}
function getDivision_prev($order,$division){
$oDocumentModel = &getModel('document');
return $oDocumentModel->_getDocumentDivision('prev',$order,$division);
}
function _getDocumentDivision($type,$order,$division){
if(!$division->document_srl) {
if(context::get('document_srl')) $division->document_srl = context::get('document_srl');
else return;
}
if(!$division->search_target) {
if(context::get('search_target')) $division->search_target = context::get('search_target');
}
if(!$division->search_keyword) {
if(context::get('search_keyword')) $division->search_keyword = context::get('search_keyword');
}
if(!$division->list_count) $division->list_count = 1;
if(!$type) $type = 'next';
if(!$order) $order = 'list_order'+ '+ ';
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument($division->document_srl, '');
if($order == 'list_order') {
$args->list_order = $oDocument->get('list_order');
if($type == 'next') $args->first_list_order = $oDocument->get('list_order');
elseif($type == 'prev') $args->last_list_order = $oDocument->get('list_order');
} elseif($order == 'update_order') {
$args->update_order = $oDocument->get('update_order');
if($type == 'next') $args->first_update_order = $oDocument->get('update_order');
elseif($type == 'prev') $args->last_update_order = $oDocument->get('update_order');
}
$args->module_srl = $oDocument->get('module_srl');
$args->sort_index = ($order == 'list_order')?'list_order':'update_order';
$args->order_type = ($type == 'next')? ($division->list_count > 0)? 'desc':'asc' :'asc';
$args->list_count = ($division->list_count > 1)? $division->list_count:1;
$args->page_count = 1;
$args->page = 1;
// 검색 옵션 정리
$search_target = (!$division->no_search)? $division->search_target:'';
$search_keyword = (!$division->no_search)? $division->search_keyword:'';
$query_id = "document.getDivisionDocument";
if($search_target && $search_keyword) {
switch($search_target) {
case 'title' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->{"s_".$search_target} = $search_keyword;
case 'content' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->{"s_".$search_target} = $search_keyword;
break;
case 'title_content' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_title = $search_keyword;
$args->s_content = $search_keyword;
break;
case 'user_id' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_user_id = $search_keyword;
$args->sort_index = 'documents.'.$args->sort_index;
break;
case 'user_name' :
case 'nick_name' :
case 'email_address' :
case 'homepage' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->{"s_".$search_target} = $search_keyword;
break;
case 'is_notice' :
case 'is_secret' :
if($search_keyword=='Y') $args->{"s_".$search_target} = 'Y';
else $args->{"s_".$search_target} = '';
break;
case 'member_srl' :
case 'readed_count' :
case 'voted_count' :
case 'comment_count' :
case 'trackback_count' :
case 'uploaded_count' :
$args->{"s_".$search_target} = (int)$search_keyword;
break;
case 'regdate' :
case 'last_update' :
case 'ipaddress' :
$args->{"s_".$search_target} = $search_keyword;
break;
case 'comment' :
$args->s_comment = $search_keyword;
$args->sort_index = 'documents.'.$args->sort_index;
$query_id = 'document.getDivisionComment';
break;
case 'tag' :
$args->s_tags = str_replace(' ','%',$search_keyword);
$args->sort_index = 'documents.'.$args->sort_index;
$query_id = 'document.getDivisionTag';
break;
default :
preg_match('/^extra_vars([0-9]+)$/',$search_target,$matches);
if($matches[1]) {
$args->{"s_extra_vars".$matches[1]} = $search_keyword;
}
break;
}
}
$output = executeQuery($query_id, $args);
if($output->data) {
if($type == '+ 'next'){
$division_count = $division->list_count;
foreach($output->data as $division_no2){
$division_next[$division_count--] = $division_no2;
}
for($i=($division_count+1);$i<($division->list_count+1);$i++){
$division_document[$i] = $division_next[$i];
}
}elseif($type == 'prev'){
$division_document = $output->data;
}
return $division_document;
}
}
추가설명
/**
* @brief 문서 설정 정보를 구함
**/
function getDocumentConfig() {
if(!$GLOBLAS['__document_config__']) {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('document'+ ');
if(!$config->thumbnail_type) $config->thumbnail_type = 'crop';
$GLOBLAS['__document_config__'] = $config;
}
return $GLOBLAS['__document_config__'];
}
-- 여기다가 추가해주세요 --
}
$oDocumentModel = &getModel('document');
return $oDocumentModel->_getDocumentDivision('next',$order,$division);
}
function getDivision_prev($order,$division){
$oDocumentModel = &getModel('document');
return $oDocumentModel->_getDocumentDivision('prev',$order,$division);
}
function _getDocumentDivision($type,$order,$division){
if(!$division->document_srl) {
if(context::get('document_srl')) $division->document_srl = context::get('document_srl');
else return;
}
if(!$division->search_target) {
if(context::get('search_target')) $division->search_target = context::get('search_target');
}
if(!$division->search_keyword) {
if(context::get('search_keyword')) $division->search_keyword = context::get('search_keyword');
}
if(!$division->list_count) $division->list_count = 1;
if(!$type) $type = 'next';
if(!$order) $order = 'list_order'+ '+ ';
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument($division->document_srl, '');
if($order == 'list_order') {
$args->list_order = $oDocument->get('list_order');
if($type == 'next') $args->first_list_order = $oDocument->get('list_order');
elseif($type == 'prev') $args->last_list_order = $oDocument->get('list_order');
} elseif($order == 'update_order') {
$args->update_order = $oDocument->get('update_order');
if($type == 'next') $args->first_update_order = $oDocument->get('update_order');
elseif($type == 'prev') $args->last_update_order = $oDocument->get('update_order');
}
$args->module_srl = $oDocument->get('module_srl');
$args->sort_index = ($order == 'list_order')?'list_order':'update_order';
$args->order_type = ($type == 'next')? ($division->list_count > 0)? 'desc':'asc' :'asc';
$args->list_count = ($division->list_count > 1)? $division->list_count:1;
$args->page_count = 1;
$args->page = 1;
// 검색 옵션 정리
$search_target = (!$division->no_search)? $division->search_target:'';
$search_keyword = (!$division->no_search)? $division->search_keyword:'';
$query_id = "document.getDivisionDocument";
if($search_target && $search_keyword) {
switch($search_target) {
case 'title' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->{"s_".$search_target} = $search_keyword;
case 'content' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->{"s_".$search_target} = $search_keyword;
break;
case 'title_content' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_title = $search_keyword;
$args->s_content = $search_keyword;
break;
case 'user_id' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_user_id = $search_keyword;
$args->sort_index = 'documents.'.$args->sort_index;
break;
case 'user_name' :
case 'nick_name' :
case 'email_address' :
case 'homepage' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->{"s_".$search_target} = $search_keyword;
break;
case 'is_notice' :
case 'is_secret' :
if($search_keyword=='Y') $args->{"s_".$search_target} = 'Y';
else $args->{"s_".$search_target} = '';
break;
case 'member_srl' :
case 'readed_count' :
case 'voted_count' :
case 'comment_count' :
case 'trackback_count' :
case 'uploaded_count' :
$args->{"s_".$search_target} = (int)$search_keyword;
break;
case 'regdate' :
case 'last_update' :
case 'ipaddress' :
$args->{"s_".$search_target} = $search_keyword;
break;
case 'comment' :
$args->s_comment = $search_keyword;
$args->sort_index = 'documents.'.$args->sort_index;
$query_id = 'document.getDivisionComment';
break;
case 'tag' :
$args->s_tags = str_replace(' ','%',$search_keyword);
$args->sort_index = 'documents.'.$args->sort_index;
$query_id = 'document.getDivisionTag';
break;
default :
preg_match('/^extra_vars([0-9]+)$/',$search_target,$matches);
if($matches[1]) {
$args->{"s_extra_vars".$matches[1]} = $search_keyword;
}
break;
}
}
$output = executeQuery($query_id, $args);
if($output->data) {
if($type == '+ 'next'){
$division_count = $division->list_count;
foreach($output->data as $division_no2){
$division_next[$division_count--] = $division_no2;
}
for($i=($division_count+1);$i<($division->list_count+1);$i++){
$division_document[$i] = $division_next[$i];
}
}elseif($type == 'prev'){
$division_document = $output->data;
}
return $division_document;
}
}
추가설명
/**
* @brief 문서 설정 정보를 구함
**/
function getDocumentConfig() {
if(!$GLOBLAS['__document_config__']) {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('document'+ ');
if(!$config->thumbnail_type) $config->thumbnail_type = 'crop';
$GLOBLAS['__document_config__'] = $config;
}
return $GLOBLAS['__document_config__'];
}
-- 여기다가 추가해주세요 --
}
modules/document/queries/getDivisionDocument.xml
파일경로명으로 저장하셔서 해당경로에 추가해주세요
<query id="getDivisionDocument" action="select">
<tables>
<table name="documents" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="in" column="module_srl" var="module_srl" filter="number" />
<condition operation="in" column="category_srl" var="category_srl" pipe="and" />
<condition operation="equal" column="is_notice" var="s_is_notice" pipe="and" />
<condition operation="equal" column="member_srl" var="member_srl" filter="number" pipe="and" />
<group pipe="and">
<condition operation="below" column="list_order" var="first_list_order" filter="number" pipe="and" />
<condition operation="excess" column="list_order" var="last_list_order" filter="number" pipe="and" />
</group>
<group pipe="and">
<condition operation="like" column="title" var="s_title" />
<condition operation="like" column="content" var="s_content" pipe="or" />
<condition operation="like" column="user_name" var="s_user_name" pipe="or" />
<condition operation="like" column="user_id" var="s_user_id" pipe="or" />
<condition operation="like" column="nick_name" var="s_nick_name" pipe="or" />
<condition operation="like" column="email_address" var="s_email_addres" pipe="or" />
<condition operation="like" column="homepage" var="s_homepage" pipe="or" />
<condition operation="like" column="tags" var="s_tags" pipe="or" />
<condition operation="equal" column="is_secret" var="s_is_secret" pipe="or" />
<condition operation="equal" column="member_srl" var="s_member_srl" pipe="or" />
<condition operation="more" column="readed_count" var="s_readed_count" pipe="or" />
<condition operation="more" column="voted_count" var="s_voted_count" pipe="or" />
<condition operation="more" column="comment_count" var="s_comment_count" pipe="or" />
<condition operation="more" column="trackback_count" var="s_trackback_count" pipe="or" />
<condition operation="more" column="uploaded_count" var="s_uploaded_count" pipe="or" />
<condition operation="like_prefix" column="regdate" var="s_regdate" pipe="or" />
<condition operation="like_prefix" column="last_update" var="s_last_update" pipe="or" />
<condition operation="like_prefix" column="ipaddress" var="s_ipaddress" pipe="or" />
<condition operation="like" column="extra_vars1" var="s_extra_vars1" pipe="or" />
<condition operation="like" column="extra_vars2" var="s_extra_vars2" pipe="or" />
<condition operation="like" column="extra_vars3" var="s_extra_vars3" pipe="or" />
<condition operation="like" column="extra_vars4" var="s_extra_vars4" pipe="or" />
<condition operation="like" column="extra_vars5" var="s_extra_vars5" pipe="or" />
<condition operation="like" column="extra_vars6" var="s_extra_vars6" pipe="or" />
<condition operation="like" column="extra_vars7" var="s_extra_vars7" pipe="or" />
<condition operation="like" column="extra_vars8" var="s_extra_vars8" pipe="or" />
<condition operation="like" column="extra_vars9" var="s_extra_vars9" pipe="or" />
<condition operation="like" column="extra_vars10" var="s_extra_vars10" pipe="or" />
<condition operation="like" column="extra_vars11" var="s_extra_vars11" pipe="or" />
<condition operation="like" column="extra_vars12" var="s_extra_vars12" pipe="or" />
<condition operation="like" column="extra_vars13" var="s_extra_vars13" pipe="or" />
<condition operation="like" column="extra_vars14" var="s_extra_vars14" pipe="or" />
<condition operation="like" column="extra_vars15" var="s_extra_vars15" pipe="or" />
<condition operation="like" column="extra_vars16" var="s_extra_vars16" pipe="or" />
<condition operation="like" column="extra_vars17" var="s_extra_vars17" pipe="or" />
<condition operation="like" column="extra_vars18" var="s_extra_vars18" pipe="or" />
<condition operation="like" column="extra_vars19" var="s_extra_vars19" pipe="or" />
<condition operation="like" column="extra_vars20" var="s_extra_vars20" pipe="or" />
</group>
<group pipe="and">
<condition operation="below" column="update_order" var="first_update_order" filter="number" pipe="and" />
<condition operation="excess" column="update_order" var="last_update_order" filter="number" pipe="and" />
</group>
</conditions>
<navigation>
<index var="sort_index" default="list_order" order="order_type" />
<list_count var="list_count" default="1" />
<page_count var="page_count" default="1" />
<page var="page" default="1" />
</navigation>
</query>
<tables>
<table name="documents" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="in" column="module_srl" var="module_srl" filter="number" />
<condition operation="in" column="category_srl" var="category_srl" pipe="and" />
<condition operation="equal" column="is_notice" var="s_is_notice" pipe="and" />
<condition operation="equal" column="member_srl" var="member_srl" filter="number" pipe="and" />
<group pipe="and">
<condition operation="below" column="list_order" var="first_list_order" filter="number" pipe="and" />
<condition operation="excess" column="list_order" var="last_list_order" filter="number" pipe="and" />
</group>
<group pipe="and">
<condition operation="like" column="title" var="s_title" />
<condition operation="like" column="content" var="s_content" pipe="or" />
<condition operation="like" column="user_name" var="s_user_name" pipe="or" />
<condition operation="like" column="user_id" var="s_user_id" pipe="or" />
<condition operation="like" column="nick_name" var="s_nick_name" pipe="or" />
<condition operation="like" column="email_address" var="s_email_addres" pipe="or" />
<condition operation="like" column="homepage" var="s_homepage" pipe="or" />
<condition operation="like" column="tags" var="s_tags" pipe="or" />
<condition operation="equal" column="is_secret" var="s_is_secret" pipe="or" />
<condition operation="equal" column="member_srl" var="s_member_srl" pipe="or" />
<condition operation="more" column="readed_count" var="s_readed_count" pipe="or" />
<condition operation="more" column="voted_count" var="s_voted_count" pipe="or" />
<condition operation="more" column="comment_count" var="s_comment_count" pipe="or" />
<condition operation="more" column="trackback_count" var="s_trackback_count" pipe="or" />
<condition operation="more" column="uploaded_count" var="s_uploaded_count" pipe="or" />
<condition operation="like_prefix" column="regdate" var="s_regdate" pipe="or" />
<condition operation="like_prefix" column="last_update" var="s_last_update" pipe="or" />
<condition operation="like_prefix" column="ipaddress" var="s_ipaddress" pipe="or" />
<condition operation="like" column="extra_vars1" var="s_extra_vars1" pipe="or" />
<condition operation="like" column="extra_vars2" var="s_extra_vars2" pipe="or" />
<condition operation="like" column="extra_vars3" var="s_extra_vars3" pipe="or" />
<condition operation="like" column="extra_vars4" var="s_extra_vars4" pipe="or" />
<condition operation="like" column="extra_vars5" var="s_extra_vars5" pipe="or" />
<condition operation="like" column="extra_vars6" var="s_extra_vars6" pipe="or" />
<condition operation="like" column="extra_vars7" var="s_extra_vars7" pipe="or" />
<condition operation="like" column="extra_vars8" var="s_extra_vars8" pipe="or" />
<condition operation="like" column="extra_vars9" var="s_extra_vars9" pipe="or" />
<condition operation="like" column="extra_vars10" var="s_extra_vars10" pipe="or" />
<condition operation="like" column="extra_vars11" var="s_extra_vars11" pipe="or" />
<condition operation="like" column="extra_vars12" var="s_extra_vars12" pipe="or" />
<condition operation="like" column="extra_vars13" var="s_extra_vars13" pipe="or" />
<condition operation="like" column="extra_vars14" var="s_extra_vars14" pipe="or" />
<condition operation="like" column="extra_vars15" var="s_extra_vars15" pipe="or" />
<condition operation="like" column="extra_vars16" var="s_extra_vars16" pipe="or" />
<condition operation="like" column="extra_vars17" var="s_extra_vars17" pipe="or" />
<condition operation="like" column="extra_vars18" var="s_extra_vars18" pipe="or" />
<condition operation="like" column="extra_vars19" var="s_extra_vars19" pipe="or" />
<condition operation="like" column="extra_vars20" var="s_extra_vars20" pipe="or" />
</group>
<group pipe="and">
<condition operation="below" column="update_order" var="first_update_order" filter="number" pipe="and" />
<condition operation="excess" column="update_order" var="last_update_order" filter="number" pipe="and" />
</group>
</conditions>
<navigation>
<index var="sort_index" default="list_order" order="order_type" />
<list_count var="list_count" default="1" />
<page_count var="page_count" default="1" />
<page var="page" default="1" />
</navigation>
</query>
modules/document/queries/getDivisionComment.xml
파일경로명으로 저장하셔서 해당경로에 추가해주세요
<query id="getDivisionComment" action="select">
<tables>
<table name="documents" alias="documents" />
<table name="comments" alias="comments"/>
</tables>
<columns>
<column name="documents.*" />
</columns>
<conditions>
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="documents.category_srl" var="category_srl" pipe="and" />
<condition operation="equal" column="documents.document_srl" default="comments.document_srl" notnull="notnull" pipe="and" />
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
<group pipe="and">
<condition operation="below" column="documents.list_order" var="first_list_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.list_order" var="last_list_order" filter="number" pipe="and" />
</group>
<group pipe="and">
<condition operation="below" column="documents.update_order" var="first_update_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.update_order" var="last_update_order" filter="number" pipe="and" />
</group>
<condition operation="like" column="comments.content" var="s_comment" notnull="notnull" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="document.list_order" order="order_type" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>
<tables>
<table name="documents" alias="documents" />
<table name="comments" alias="comments"/>
</tables>
<columns>
<column name="documents.*" />
</columns>
<conditions>
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="documents.category_srl" var="category_srl" pipe="and" />
<condition operation="equal" column="documents.document_srl" default="comments.document_srl" notnull="notnull" pipe="and" />
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
<group pipe="and">
<condition operation="below" column="documents.list_order" var="first_list_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.list_order" var="last_list_order" filter="number" pipe="and" />
</group>
<group pipe="and">
<condition operation="below" column="documents.update_order" var="first_update_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.update_order" var="last_update_order" filter="number" pipe="and" />
</group>
<condition operation="like" column="comments.content" var="s_comment" notnull="notnull" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="document.list_order" order="order_type" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>
modules/document/queries/getDivisionTag.xml
파일경로명으로 저장하셔서 해당경로에 추가해주세요
<query id="getDivisionTag" action="select">
<tables>
<table name="documents" alias="documents" />
<table name="tags" alias="tags"/>
</tables>
<columns>
<column name="documents.*" />
</columns>
<conditions>
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="documents.document_srl" default="tags.document_srl" notnull="notnull" pipe="and" />
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
<condition operation="like" column="tags.tag" var="s_tags" notnull="notnull" pipe="and" />
<group pipe="and">
<condition operation="below" column="documents.list_order" var="first_list_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.list_order" var="last_list_order" filter="number" pipe="and" />
</group>
<group pipe="and">
<condition operation="below" column="documents.update_order" var="first_update_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.update_order" var="last_update_order" filter="number" pipe="and" />
</group>
</conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="order_type" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>
<tables>
<table name="documents" alias="documents" />
<table name="tags" alias="tags"/>
</tables>
<columns>
<column name="documents.*" />
</columns>
<conditions>
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="documents.document_srl" default="tags.document_srl" notnull="notnull" pipe="and" />
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
<condition operation="like" column="tags.tag" var="s_tags" notnull="notnull" pipe="and" />
<group pipe="and">
<condition operation="below" column="documents.list_order" var="first_list_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.list_order" var="last_list_order" filter="number" pipe="and" />
</group>
<group pipe="and">
<condition operation="below" column="documents.update_order" var="first_update_order" filter="number" pipe="and" />
<condition operation="excess" column="documents.update_order" var="last_update_order" filter="number" pipe="and" />
</group>
</conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="order_type" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>
출력하기(스킨파일 등에 추가해주세요)
설명
getDivision_next(),getDivision_prev() <- 기본 값입니다. list_order정렬, 문서번호,검색내용을 자동 입력합니다.
옵션(next 함수 기준으로 설명)
getDivision_next('update_order') <- 정렬 기준을 update 순으로 합니다.
{@$divi->list_count = 3}
getDivision_next('',$divi) <- 리스트 출력 카운터 수를 추가 합니다.
getDivision_next('update_order',$divi) <- update 순으로 리스트 출력 카운터 수를 추가 합니다.
{@$divi->document_srl = $oDocument->document_srl} <- 특정 게시물 부터 구하기
(위젯이나 게시물 리스트 등에는 document_srl 변수가 없기 때문에 임의의 게시물 번호를 입력해 줍니다.
변수의 경우는 각 위젯, 게시물 리스트에서 표기하는 document_srl 변수명으로 대체해주세요)
{@$divi->search_target = context::get('search_target')} <- 특정 검색 대상
{@$divi->search_keyword = context::get('+ 'search_keyword')} <- 특정 검색어로 부터 구하기
{@$divi->no_search = 'Y'} <- 검색된 상태라도 이를 무시, 전체 게시물에서 구합니다.
{@$divi->list_count = 3} <- 리스트 출력 카운터 수
최대 5가지 항목으로 원하는 결과물을 출력합니다.
검색어의 경우 search_target,search_keyword가 동시에 선언 되어야 합니다.
스킨에 입력 형태
{@$divi->no_search = 'Y'}
{@$oDivision = &getModel('document')}
{@$divi_next = $oDivision->getDivision_next('',$divi)}
<!--@foreach($divi_next as $division_no)-->
<h4><a href="{getUrl('document_srl',$division_no->document_srl, 'listStyle', $listStyle, 'cpage','')}">다음글 {$division_no->document_srl} {$division_no->title}</a></h4><br />
<!--@end-->
{@$divi_prev = $oDivision->getDivision_prev('',$divi)}
<!--@foreach($divi_prev as $division_no)-->
<h4><a href="{getUrl('document_srl',$division_no->document_srl, 'listStyle', $listStyle, 'cpage','')}">이전글 {$division_no->document_srl} {$division_no->title}</a></h4><br />
<!--@end-->
{@$oDivision = &getModel('document')}
{@$divi_next = $oDivision->getDivision_next('',$divi)}
<!--@foreach($divi_next as $division_no)-->
<h4><a href="{getUrl('document_srl',$division_no->document_srl, 'listStyle', $listStyle, 'cpage','')}">다음글 {$division_no->document_srl} {$division_no->title}</a></h4><br />
<!--@end-->
{@$divi_prev = $oDivision->getDivision_prev('',$divi)}
<!--@foreach($divi_prev as $division_no)-->
<h4><a href="{getUrl('document_srl',$division_no->document_srl, 'listStyle', $listStyle, 'cpage','')}">이전글 {$division_no->document_srl} {$division_no->title}</a></h4><br />
<!--@end-->
foreach안에서의 $division_no->document_srl 와같은 결과물을 xe_documents 테이블의 컬럼 내용 전체를 뽑아낼 수 있습니다.
ps1 : 저는 document 모듈에 안넣고 애드온으로 해서 쓰기 때문에 위 내용 적용 시 오류가 발생할 가능성이 있습니다.
(하지만 테스트는 해보았기에 될거로 봅니다.)
ps2 : 왠만하면 이 이상 요구하는건 좀... -_-;;
태그 연관 글
- [2018/05/18] 묻고답하기 확장변수 사용자정의에 입력한 일자(년월일)을 특정기간으로 검색하려면.. *1
- [2016/09/05] 묻고답하기 게시판에서 검색 버튼 활성화 방법 문의드립니다. *4
- [2015/10/16] 묻고답하기 검색이 안됩니다.
- [2015/09/30] 묻고답하기 메타 태그를 홈페이지 주소에 입력하는 방법 좀 부탁드려요. *3
- [2015/07/09] 포럼 내 사이트, 네이버 검색은 요원한가? *9
댓글 8
제목 | 글쓴이 | 날짜 |
---|---|---|
주민등록 입력 폼 1.2.0 [55] | 개돌 | 2009.04.10 |
http://www.도메인주소/~as/xe/ 로 로그인 접속후~ [3] | wjnam | 2009.09.07 |
팝업창 띄우기 [16] | 레망 | 2008.03.16 |
[수정] 쉽게 간단하게(?) 플래시 그래프를 게시판에 넣어 보세요 ^^ [3] | 상오기 | 2009.08.27 |
에디터 본문 및 댓글 입력 글자크기 줄이기 [5] | HIKARU | 2008.11.24 |
에디터의 옵션 설정하기.. 컴포넌트 보이지 않게 등.. [4] | 지허 | 2007.10.01 |
http 두번 븥는 문제 .. 위젯 스타일 스퀘어 페이스 more 버그입니다. [2] | 최영석222 | 2009.07.25 |
이전글,다음글 얻기 (검색결과 까지 포함) (수정) [8] | 라르게덴 | 2008.06.05 |
[초보팁] 우리말 수정하기(예제: 가입창 이름란 삭제) [3] | 블루파티 | 2008.08.19 |
블로그, 홈페이지 가입시 자동 입력되는 http:// 없애기 [2] | 류영무 | 2008.09.09 |
페이지 모듈에도 게시판제목 처럼 다는 쉬운방법... [2] | 만쓰별(정만) | 2009.01.23 |
홈페이지 주소 깔끔하게 사용하기 [초보용] [14] | 똑디 | 2007.10.13 |
XOOPS (News Module) → XE 자료 옮기기 [3] | June Oh | 2009.08.17 |
Cooliris Embed a Wall 위젯 v2.0에 동영상 반영시키기 [3] | 철쌤 | 2009.08.08 |
하드 압축 하실때 tar cvfpz 쓰시는분들..... [3] | 우리아기 | 2009.08.13 |
통합검색에서 확장변수 검색하기 [5] | StyleD | 2008.10.12 |
회원 팝업메뉴에서 작성글 클릭시 다른 아이디 검색 안되게 하기 [3] | 절망린 | 2009.07.03 |
사이트 주소로 접속했을때 XE폴더로 이동하기 #2 [15] | 베니 | 2008.03.28 |
[비나무님글 ] xe_official_v2 레이아웃 사이트맵 없애는 방법 [3] | 토니박스 | 2009.07.29 |
상단로그인..? [10] | 빽짱구 | 2008.04.15 |