묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
최근게시물시 카테고리 호출 변수
2009.09.15 15:00
최근 게시물 만들고 있는데요
카테고리 zb4에선 {category} 이였지만
xe 에서는 어떻게 변수를 호출하는지 궁금합니다.
<!--@if($widget_info->show_category=='Y' && $item->get('category_srl') )-->
<a href="{getSiteUrl($item->domain,'','mid',$item->get('mid'),'category',$item->get('category_srl'))}" class="categoryTitle">{$item->getCategory()}</a>
<!--@end-->
이걸 삽입해도 카테고리가 출력되지 않습니다.
category_srl 만 출력을 하면 될 경우 {$oDocument->get('category_srl')} 로 하시면 출력 될거구요
카테고리 이름이 필요하신 경우 아래와 같이 하시면 됩니다.
(저는 xe_official 스킨을 사용 중입니다.)
소스를 직접 보여드리면 좋은데.. 상황이 안되네요.
/widgets/newest_document/newest_document.class.php 에서
$output->executeQueryArray("widgets.newest_document.getNewestDocuments', $obj);
라는 소스가 있습니다. (70줄 정도)
이 아래에 아래
$oDocumentModel = &getModel('document');
$category_list = $oDocumentModel->getCategoryList($obj->module_srl);
Context::set('category_list', $category_list);
를 추가합니다.
$oDocumentModel = $getModel('document'); <== /modules/document/document.Model.php 파일의 함수를 의미합니다.
getModel 이므로 Model.php 이고 ('document') 이므로 document 모듈에 해당합니다. (다른 소스들 살펴보셔도 이렇게 이해하시면 쉽게 이해가 됩니다.)
document.Model.php 파일에 보시면 getCategoryList() 라는 함수가 있습니다
$category_list = $oDocumentModel->getCategoryList($obj->module_srl); <== oDocumentModel (document.Model.php 파일의 getCategoryList() 함수의 값을 $category_list 변수로 받아온다는 내용이됩니다.
마지막으로 Context::set('category_list', $category_list); <== list.html 파일에서 $category_list 라는 변수로 사용할 수 있도록 세팅을 합니다.
/widgets/newest_document/skins/xe_official/list.html
<span class="title">
<a href="./어쩌고 저쩌고></a>
<!--@if($oDocument->getCommentCount()-->
21번째 줄 정도 에 위 내용이 있습니다.
<a href="http://www.xpressengine.com/{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">
<!--@if($oDocument->get('category_srl'))--><b>[{$category_list[$oDocument->get('category_srl')]->title}]</b><!--@end-->{$oDocument->getTitle($widget_info->subject_cut_size)}</a>
<!--@if($oDocument->getCommentCoount())-->
$oDocument->get('category_srl') <== category_srl이 있으면 이라는 if문
<b>[카테고리]</b> 형식으로 출력합니다.
위젯 클래스 파일에서 미리 정의해둔 $category_list 변수에서 해당 category_srl 의 title(한글 이름)을 출력해 줍니다.
소스 파일이 다른 PC에 있어서 이렇게 밖에 적어 드리지 못하네요..;ㅁ;