똑띠님의 홈피에 있는 Tip인데 너무 유용해서 응용해 봅니다.
원본 소스의 핵심입니다. 스케치북 기준 write_form.html 파일에서 _admin으로 끝나는 확장변수 ID는 글 작성시 숨겨지는 기능입니다.
{@$match = preg_match('/_admin$/is', $val->eid)} <!--@if($match != 1)--> <th scope="row"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th> <td>{$val->getFormHTML()}</td> <!--@end-->
근데 이렇게만 하면 글 작성시 누구도 확장변수가 보이질 않아서 확장변수가 있으나마나죠
그래서 관리자는 글작성시 보이게 수정
<!--@if($match != 1 || $grant->is_admin)-->
그리고 본문글에서도 확장변수를 숨깁니다. _read.html 파일에서 _hidden으로 끝나는 확장변수 ID는 본문글 출력시 숨겨지는 기능
{@$match = preg_match('/_hidden$/is', $val->eid)} <!--@if($match != 1 || $grant->is_admin)--> <th scope="row">{$val->name}</th> <td cond="$val->eid!='rating">{$val->getValueHTML()}</td> <!--@end-->
여기서 한발 더 나아가서 글작성, 본문출력 둘다 관리자외는 숨겨지는 기능
•write_form.html
<!--// 확장변수명이 _admin, _both로 끝날때 숨김처리 하기(관리자는 예외) --> {@$match1 = preg_match('/_admin$/is', $val->eid)} {@$match2 = preg_match('/_both$/is', $val->eid)} <!--@if(($match1 != 1 && $match2 != 1) || $grant->is_admin)--> <th cond="" scope="row"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th> <td cond="$val->eid!==$mi->etc_name">{$val->getFormHTML()}</td> <!--@end-->
•_read.html
<!--// 확장변수명이 _hidden, _both로 끝날때 숨김처리 하기(관리자는 예외) --> {@$match1 = preg_match('/_hidden$/is', $val->eid)} {@$match2 = preg_match('/_both$/is', $val->eid)} <!--@if(($match1 != 1 && $match2 != 1) || $grant->is_admin)--> <th scope="row">{$val->name}</th> <td cond="$val->eid!='rating">{$val->getValueHTML()}</td> <!--@end-->
글 작성자에게도 권한을 줄려면 $oDocument->isEditable() 추가
<!--@if(($match1 != 1 && $match2 != 1) || $grant->is_admin || $oDocument->isEditable())-->
이렇게 적용하면
확장변수 ID가 _admin으로 끝나는 경우는 글작성시 숨겨지고,
확장변수 ID가 _hidden으로 끝나는 경우는 본문출력시 숨겨지고,
확장변수 ID가 _both으로 끝나는 경우는 두 경우 전부 숨겨집니다.
[확장변수 ID 설정]

[글 작성시]
- 관리자 화면

- 일반 화면

[본문글]
- 관리자 화면

- 일반 화면

Tip] 게시판에서 글 작성시 확장변수에 Hidden 적용시 기본값이 적용되게 하는 법
Tip이 도움이 되었다면 댓글과 평가 부탁합니다.
Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다. 
