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


아래 출력 방법은 게시물 스킨 뿐만 아니라 위젯의 스킨에도 대응 되는 방법 입니다.


기본 방법


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

?

1
2
3
4
5
6
<!--@foreach($document->getExtraVars() as $keys)-->
    <!--@foreach($keys as $key => $val)-->
    {$key} / {$val}
 
    <!--@endforeach-->
<!--@endforeach-->

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

?

1
{$document->getExtraValueHTML(1)}

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

?

1
{$document->getExtraValue(1)}


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


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

?

1
2
3
4
5
6
7
8
9
10
11
{@
    $oDocumentModel = &getModel('document');
    $getExtraKeys = $oDocumentModel->getExtraKeys($document->get('module_srl'));
}
 
<!--@foreach($getExtraKeys as $keys)-->
    <!--@foreach($keys as $key => $val)-->
    {$key} : {$val}
 
    <!--@endforeach-->
<!--@endforeach-->

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

?

1
2
3
4
5
6
7
8
9
10
11
12
{@
    $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}
 
<!--@endforeach-->

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


위 아래 차이점을 비교해보면

모듈 정보 출력에는 모듈($document->get('module_srl')} 정보만 담으시면 되고,

특정 게시물에는 ($document->get('module_srl')} 과 {$document->get('document_srl')} 을 넣으셔야 합니다.


$getExtraVars[1] 등 변수 옆에 [1]는 확장변수 순서 입니다. 원하시는 정보를 적으시면 됩니다.

해당 게시물의 확장변수를 전체 출력 하실려면 아래와 같은 방법을 취하시면 됩니다.


?

1
2
3
4
5
6
<!--@foreach($getExtraVars as $keys)-->
    <!--@foreach($keys as $key => $val)-->
    {$key} : {$val}
 
    <!--@endforeach-->
<!--@endforeach-->


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


※ 추가사항

r6125 리비전부터 확장변수 이름(eid)으로 출력하는 방법이 추가 되었습니다.

사용위치 등은 위 설명한 곳과 같은 형식을 취하며 사용방법은 아래와 같습니다.


?

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

예) {$document->getExtraEidValue('extra_vars1')} 이런식으로 사용하시면 되겠습니다.

 
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기