2강에서 write_form.html 파일에 확장변수 수정활용 방법을 배웠으니.
3강에서는 view_document.html 파일의 수정활용 방법을 배워보겠습니다.
view_document.html 안의 코드입니다.
<table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList">
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<tr>
<th> {$val->name} : </th>
<td> {$val->getValueHTML()} </td>
</tr>
<!--@end-->
</table>
<!--@end-->
글쓰기에서 작성한 확장변수부분들을 본문에 출력하는 내용입니다.
{$val->name} -- "입력항목이름"
{$val->getValueHTML()} -- "입력항목이름"에 해당하는 내용문구
여기서 확장변수를 응용해 보겠습니다.
<table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList">
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<!--// 스튜디오/북마크일때 프리뷰&라벨 확장변수 히든 & 지정 확장변수 히든-->
<!--@if($val->value && (($module_info->default_style!='studio' && $module_info->default_style!='bookmark' && $mid !==$module_info->extra_mid) || ($val->name!="preview" && $val->name!="label" && $val->name!=$module_info->extra_name1 && $val->name!=$module_info->extra_name2 || $grant->manager)))-->
<tr>
<th>{$val->name}</th>
<td>{$val->getValueHTML()} </td>
</tr>
<!--@else-->
<!--@end-->
<!--@end-->
</table>
<!--@end-->
위의 코드는 문하우스게시판 V3.0부터 적용된 확장변수코드입니다.
적용함수 처리 부분은 2강에서 언급하였으므로 처음부터 함수로 시작합니다.
( 모르겠다고요!!! 그럼 2강내용을 한번 더 살펴보세요 ^o^ )
해석들어갑니다.
$module_info->default_style!='studio' && $module_info->default_style!='bookmark'
-- 문하우스게시판에 추가로 포함되어 있는 스튜디오 / 북마크형식을 지정합니다.
$mid !==$module_info->extra_mid -- 이 부분은 나중에 skin.xml 에 함수를 추가해야 되지만 설명을 하자면, 지정한 모듈주소(mid)를 지정합니다. 그렇니까 자유게시판이라는 모듈주소가 free라면 free를 의미합니다.
$val->name!="preview" && $val->name!="label" -- 위의 해당사항, 즉 스튜디오 / 북마크형식이거나 지정한 모듈주소중에 "입력항목이름"이 preview 이거나 label 인 항목은 이란 뜻입니다.
$val->name!=$module_info->extra_name1 && $val->name!=$module_info->extra_name2
-- 이 부분도 skin.xml 함수에 추가를 해야 합니다. 설명을 하자면 게시판설정에서 지정한 "입력항목이름"이 됩니다.
$grant->manager -- 이부분은 2강에서도 언급했지만 "관리그룹이면" 이란 뜻입니다.
여기서 "관리그룹"부분을 빼고는 전부 ! , 즉 아니면 이란 뜻이 포함되어 있습니다.
종합해보면 문하우스게시판의 스튜디오 / 북마크형식 또는 게시판설정에서 지정한 모듈주소중에서,
preview / label 또는 게시판설정에서 지정한 "입력항목이름"들이 아니면 본문에 확장변수를 출력한다는 뜻입니다. 그러나 관리그룹은 다 보입니다.
한마디로 말하면 지정한 변수들을 본문 확장변수부분에서 Hidden시킨다고 생각하시면 될 듯...
skin.xml파일에는 아래의 함수를 추가하시면 되겠죠
<title xml:lang="ko">지정한 확장변수 본문출력 Hidden</title>
<var name="extra_mid" type="text">
<title xml:lang="ko">Hidden 확장변수 mid</title>
<description xml:lang="ko">본문 확장변수 출력에서 Hidden을 원하는 mid(게시판명)를 적어주세요.</description>
</var>
<var name="extra_name1" type="text">
<title xml:lang="ko"> ┖ Hidden 확장변수 입력항목이름1</title>
<description xml:lang="ko">Hidden을 원하는 확장변수의 입력항목1의 이름을 적어주세요.</description>
</var>
<var name="extra_name2" type="text">
<title xml:lang="ko"> ┖ Hidden 확장변수 입력항목이름2</title>
<description xml:lang="ko">Hidden을 원하는 확장변수의 입력항목2의 이름을 적어주세요.
* 관리자는 항상 보입니다.
</description>
</var>
</group>
위의 본문내 확장변수Hidden출력부분도 사용에 따라서 유용하게 사용되어 질 것입니다.