메뉴 건너뛰기

유용한 팁

phiz 2015.04.13 12:20
조회 수 : 3846

1. database

xe.document.extra_keys : 해당 모듈(게시판)에 등록되어 있는 확장변수가 기록되어 있다.

xe.document.extra_vars : 각 문서에 선택되어진 확장변수 값이 기록되어 있다.

 

2. 확장변수 출력방법 (게시판 스킨, 위젯 스킨)

기본 방법

해당 문서에 대한 전체 확장변수 정보 출력

<!--@foreach($document->getExtraVars() as $keys)-->
    <!--@foreach($keys as $key => $val)-->
    {$key} / {$val} <br />
    <!--@endforeach-->
<!--@endforeach-->

해당 문서 중 임의의 확장변수를 Text로만 출력하기 (HTML 소스 보임)

{$document->getExtraValueHTML(1)}

해당 문서 중 임의의 확장변수를 출력하기 (HTML 적용 됨)

{$document->getExtraValue(1)}

$document 등으로써 $oDocument = new documentItem(); 가 사용되지 않는 곳에서 직접 출력 하기

해당 모듈에 설정된 확장변수들 뽑아오기

{@
    $oDocumentModel = &getModel('document');
    $getExtraKeys = $oDocumentModel->getExtraKeys($document->get('module_srl'));
}
<!--@foreach($getExtraKeys as $keys)-->
    <!--@foreach($keys as $key => $val)-->
    {$key} : {$val} <br />
    <!--@endforeach-->
<!--@endforeach-->

특정 게시물에 입력된 확장변수를 뽑아오기

{@
    $getExtraVars = $document->getExtraVars();
}

또는

{@
    $oDocumentModel = &getModel('document');
    $getExtraVars = $oDocumentModel->getExtraVars($document->get('module_srl'),$document->get('document_srl'));
}
<!--@foreach($getExtraVars[1] as $key => $val)-->
{$key} : {$val} <br />
<!--@endforeach-->

위 소스는 모두 문서 출력하는 <!--@foreach($document->list ....)--> 나< !--@foreach($widget_info->document_list ....)--> 의 출력문 안에 삽입되어야 합니다.

위 아래 차이점을 비교해보면 
모듈 정보 출력에는 모듈($document->get('module_srl')} 정보만 담으시면 되고,
특정 게시물에는 ($document->get('module_srl')} 과 {$document->get('document_srl')} 을 넣으셔야 합니다.

$getExtraVars[1] 등 변수 옆에 [1]는 확장변수 순서 입니다. 원하시는 정보를 적으시면 됩니다.
해당 게시물의 확장변수를 전체 출력 하실려면 아래와 같은 방법을 취하시면 됩니다.

<!--@foreach($getExtraVars as $keys)-->
    <!--@foreach($keys as $key => $val)-->
    {$key} : {$val} <br />
    <!--@endforeach-->
<!--@endforeach-->

전체 내용 중 임의의 내용을 뽑고 싶다면 {$val['value']} 등 임의의 값으로 적어주시면 됩니다.

이름(eid)으로 출력하는 방법.
사용위치 등은 위 설명한 곳과 같은 형식을 취하며 사용방법은 아래와 같습니다.

{$document->getExtraEidValue('eid이름')}

{$document->getExtraEidValueHTML('eid이름')}

예)

{$document->getExtraEidValue('extra_vars1')}

 

출처 : https://www.xpressengine.com/tip/17851266