확장변수 슬픔 ,기쁨, 노여움 있다고 가정 할 때
슬픔을 선택한 글만 위젯으로 불러 올수 있는지요?
이미 구현되어 있는 위젯이 있다면 좀 알려주시고
어떦게 구현 해야 하는지 설명 주시면 감사하겠습니다
"새해 복 많이 받으세요! 커뮤니티 회원 여러분의 건강과 행복이 가득한 한 해가 되기를 바랍니다. 감사합니다."
PHP | PHP 7.4 |
---|---|
CMS | Rhymix 2.1 |
확장변수 슬픔 ,기쁨, 노여움 있다고 가정 할 때
슬픔을 선택한 글만 위젯으로 불러 올수 있는지요?
이미 구현되어 있는 위젯이 있다면 좀 알려주시고
어떦게 구현 해야 하는지 설명 주시면 감사하겠습니다
"새해 복 많이 받으세요! 커뮤니티 회원 여러분의 건강과 행복이 가득한 한 해가 되기를 바랍니다. 감사합니다."
그냥 위젯에서 간단하게 구현할려면 이래와 같이 작성하고 대상모듈을 해당 게시판으로 지정하면 될 것 같습니다.
<!--@foreach($widget_info->document_list as $oDocument)-->
{@
$eid = $oDocument->getExtraEidValueHTML('확장 변수 ID');
$eid_a = $oDocument->getExtraEidValueHTML('확장 변수 ID')=='슬픔';
$eid_b = $oDocument->getExtraEidValueHTML('확장 변수 ID')=='기쁨';
$eid_c = $oDocument->getExtraEidValueHTML('확장 변수 ID')=='노여움';
}
<table cond="$eid">
<tr>
<td cond="$eid_a">
<a href="{getUrl('','document_srl',$oDocument->document_srl)}">{$oDocument->getTitleText($wi->subject_cut_size)}</a>
</td>
</tr>
</table>
<!--@end-->
기존의 콘텐츠 확장 위젯은 추천수 등을 기준으로 문서를 수집하기는 하는데 특정 확장변수값을 지정해서 불러오는 방식은 아니었던 것 같아요.
직접 해본 게 아니어서 확신은 없지만, 구현 방식은 코어의 getDocumentList에 의존하면 그나마 좀 간편하지 않나 싶습니다.
https://github.com/rhymix/rhymix/blob/adcaa5e6dd24c173c2dcf13dbaa7b62f6246647f/modules/document/document.model.php#L240
단, 만약 여러 모듈에서 문서를 불러올 것이라면 확장변수의 일련 번호가 서로 동일해야 할 거예요.
왜냐하면 문서를 수집하는 쿼리가 검색대상과 검색어를 기준으로 짜여 있기 때문입니다.
그래서, 대강 해보면, 이런 식이 되지 않을까 싶습니다.
$args = new stdClass;
$args->module_srl = 대상 모듈의 모듈 번호;
$args->search_target = 'extra_vars' . '확장변수의 일련 번호'; // 예. 'extra_vars3'
$args->search_keyword = '슬픔';
$args->statusList = ['PUBLIC'];
$except_notice = true;
$document_list = DocumentModell::getDocumentList($args, $except_notice);
문서 수집은 이런 방식으로 시도해보시고 결과가 잘 나오면 제작하실 위젯에 얹으면 될 것 같습니다.