[라르게덴님의 팁]
아래 출력 방법은 게시물 스킨 뿐만 아니라 위젯의 스킨에도 대응 되는 방법 입니다.
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')}
[bibi님의 팁]
어제부터 하루 종일 삽질하다가 찾았습니다.
다아실지도 모르지만 검색해도 못찾겠고, 혹시 저같은 고민을 하시는 분을 위해서 간단하게만..ㅠㅠ;
확장변수의 값을 최근게시물에 출력하는 방법이 없을까 하다가 찾은 방법입니다.
1.2.4버젼이구요
{$oDocument->getExtraValue(1)}
{$oDocument->getExtraValue(2)}
{$oDocument->getExtraValue(3)}
위젯스킨에 이것만 추가하면 나오더군요..;;
버젼업되면서 확장변수가 분리되고 생긴 기능인가봅니다.
위에것으로 한줄짜리는 잘 출력이 되는데..
textarea 의 경우 한줄로 쭈~~욱 나옵니다 난감상황이죠
{@ $ExtraVarList = $oDocument->getExtraVars()} // 호출값 위쪽에 이렇게 쓰고
{$ExtraVarList[1]->getValueHTML()}
{$ExtraVarList[2]->getValueHTML()}
그럴땐 이런식으로 호출이 되더군요..
추가로 보드에서 확장변수가 뭉탱이로 되어있죠?
그걸 따로 따로 분리하는 방법은..
write_form.html 에서는
{$val->name} {$val->getFormHTML()} //로 뭉쳐져있는 것을
{$extra_keys[1]->name}
{$extra_keys[1]->getFormHTML()}
{$extra_keys[2]->name}
{$extra_keys[3]->getFormHTML()}
view_document.html 에서도 위젯에서 호출하는 방식과 동일하게
{@ $ExtraVarList = $oDocument->getExtraVars()}
{$ExtraVarList[1]->name}
{$ExtraVarList[1]->getValueHTML()}
{$ExtraVarList[2]->name}
{$ExtraVarList[2]->getValueHTML()}
이런식으로 쓰면 됩니다.
한가지 목적의 스킨 만드실때 조금 더 세부적으로 편집하기 위한 방법입니다.
이것저것 짜맞춰보고 삽질하면서 어떻하다가 보니 된거라..
자세한건 저도 잘 모르니 어려운 질문은 해결이 안되옵니다..(__);
Tip이 도움이 되었다면 댓글과 평가 부탁합니다.
Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다. 
