게시판에서 글작성시 확장변수를 히든 적용시 기본값이 적용되게 할 수 있을까요
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
게시판 글 작성시 확장변수를 임의로 수정하여 글 작성시 관리자만 보이게 하고 일반 작성자는 볼수 없게 했었는데요.
https://moonhouse.co.kr/xetip/582252
이번에 2.1.18로 라이믹스가 업데이트 되면서 확장변수 기본값을 줄 수가 있어서 더 유용해 져서 단일선택에 적용해 보니
일반 작성자가 글 작성후 본문글에 히든된 단일선택 자체가 출력이 되지를 않네요(당연한 이야기 일 것 같네요)
그럼 히든도 적용하면서 일반 작성자가 글 작성시 본문글에도 출력되게 할려면 어떻게 해야 하나요
/modules/board/skins/xedition/write_form.html
<div class="exForm" cond="count($extra_keys)">
<table cond="count($extra_keys)" border="1" cellspacing="0" summary="Extra Form">
<caption><em>*</em> : {$lang->is_required}</caption>
<tr loop="$extra_keys=>$key,$val">
{@$match = preg_match('/_admin$/is', $val->eid)}
<!--@if($match != 1 || $grant->is_admin)-->
<th scope="row"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th>
<td>{$val->getFormHTML()}</td>
<!--@end-->
</tr>
</table>
</div>
참고로 노란색이 수정코드 부분이며 확장변수 ID가 _admin으로 끝나면
글 작성시 일반 작성자는 해당 확장변수 히든 시키는 코드입니다.

댓글 4
<!--@else-->가 필요할 것 같습니다.
관리자가 아니라면 <input type="hidden">으로 기본값을 폼에 넣어 제출되도록 해야겠지요.
글 수정할 때 초기화되지 않도록 하는 장치도 필요하겠고요.
그나저나 관리자 전용 필드 기능 쓸만할 것 같은데, 코어에 넣어볼까요? ㅎㅎ
답글 적고 오니 곰님께서 답글을 남겨 주셨네요, 감사
근데 AI에게 질문을 남기니 <!--@else--> 다음에 아래의 답을 주었는데
<input type="hidden" name="{$val->name}" value="{$val->getValueForHidden()}" />
{$val->getValueForHidden()} 이 부분을 수정해야 될 것 같은데 어떻게 바꾸어 주어야 할지 모르겠네요
그리고 코어에 넣어 주시면 탱큐입니다.
아래에 올리신 소스처럼 그냥 display:none으로 숨기는 방법도 있고요.
{@$match = preg_match('/_admin$/is', $val->eid)}
<!--@if($match != 1 || $grant->is_admin)-->
<th scope="row"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th>
<td>{$val->getFormHTML()}</td>
<!--@else-->
<th scope="row" style="display:none"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th>
<td style="display:none">{$val->getFormHTML()}</td>
<!--@end-->
다른 좋은 방법도 있을 듯한데...