Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

확장변수 슬픔 ,기쁨,  노여움  있다고 가정 할 때 

 

슬픔을 선택한 글만 위젯으로 불러 올수 있는지요? 

 

이미 구현되어 있는 위젯이 있다면 좀 알려주시고 

 

어떦게 구현 해야 하는지 설명 주시면 감사하겠습니다 

 

"새해 복 많이 받으세요! 커뮤니티 회원 여러분의 건강과 행복이 가득한 한 해가 되기를 바랍니다. 감사합니다."

 

  • Lv19
    아마 따로 개발하셔야 할 겁니다.
    기존의 콘텐츠 확장 위젯은 추천수 등을 기준으로 문서를 수집하기는 하는데 특정 확장변수값을 지정해서 불러오는 방식은 아니었던 것 같아요.

    직접 해본 게 아니어서 확신은 없지만, 구현 방식은 코어의 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);

    문서 수집은 이런 방식으로 시도해보시고 결과가 잘 나오면 제작하실 위젯에 얹으면 될 것 같습니다.
  • Lv19 Lv5
    감사합니다 ~~~~~~~~~~
  • Lv2

    그냥 위젯에서 간단하게 구현할려면 이래와 같이 작성하고 대상모듈을 해당 게시판으로 지정하면 될 것 같습니다.  

     

    <!--@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-->

  • Lv2 Lv5
    감사합니다 ~^^ 문하우스님 ~ 새해 복많이 받으세요~~~