웹마스터 팁
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
-
미령전설
2008.06.05 14:48
-
라르게덴
2008.06.05 15:14
제가 수정 내용 댓글 적었었는데요
이상한 스펨 댓글이 생성되면서 게시글이 엄청 늦게 열리더라고요...
일단 님이 이야기하신 문제점 위에 소스에서 다시 다 바꿨으니 적용 다시해보세요 -
미령전설
2008.06.05 15:19
감사합니다^^ -
미령전설
2008.06.05 22:18
똑같이 안되요 ㅠ.ㅠ
-
미령전설
2008.06.09 23:10
이젠 잘 됩니다!
-
gnee
2008.07.12 16:00
어디에 입력해야되는건지 ;;
설명이 어렵네요 ㅠ -
nhh
2009.02.01 12:26
This is nowbuy Warhammer gold the ninth study, soWarhammer gold it is cleareve online isk that smoke-freeeve isk laws are onearchlord gold of the most effectivebuy archlord gold and cost-effectiveaoc gold to reduce heart age of conan power levelingattacks,” said Thun,aoc power leveling who was notage conan gold involved in the CDCgw gold study released Guild Wars GoldThursday. Smoking bansGaia Online Gold are designed notgaia gold only to cutLineage 2 adenasmoking ratesbuy lineage 2 adena but also to reduceLineage adena secondhand tobaccoLineage 1 adena smoke. It is a everquest 2 goldwidely recognizedeq2 plat cause of lung cancerEver Quest 2, but its effecteve isk on heart diseaseeve online isk can be more immediate.eve online It not only hellgate london palladiumamages the lining of bloodHellgate Londonvessels, but alsogaia online gold increases thegaia gold some experts said. -
연필깎는까치
2009.08.13 16:55
엄청 복잡하네요. 일단 추천 한방 ㅋ
근데..이 위에 댓글은 뭐죠.. 어떻게 xe에 스팸이..
제목 | 글쓴이 | 날짜 |
---|---|---|
주민등록 입력 폼 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 |
저... 저 답글 달았었는데요...
다 했는데 안되더라구요...
지금 이 내용이 어제와 똑같은거라면...
음...
어제 제가 여기 설명해주신거 다 적용한 파일 여기에 파일첨부 했었는데요...
그것때문에 글이 사라졌으려나... 아무튼 안되더라구요 ㅠ.ㅠ