묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
확장변수 수정금지 방법 재질문
2012.10.17 23:59
아래 소스에서 글 수정할 때 확장변수 3, 4, 5 번은 수정이 안되게 하거나
기존에 가지고 있던 값을 강제로 저장하게하는 방법을 알고 싶습니다.
<div class="exForm" cond="count($extra_keys)">
<table cond="count($extra_keys)" cellspacing="0" summary="Extra Form">
<col width="150" />
<col />
<col width="150" />
<col />
<tr>
<th scope="row">{$extra_keys[1]->name}</th>
<td>{$extra_keys[1]->getFormHTML()}</td>
<th scope="row">{$extra_keys[2]->name}</th>
<td>{$extra_keys[2]->getFormHTML()}</td>
</tr>
<tr>
<th scope="row">{$extra_keys[3]->name}</th>
<td colspan=3>{$extra_keys[3]->getFormHTML()}</td>
</tr>
<tr>
<th scope="row">{$extra_keys[4]->name}</th>
<td>{$extra_keys[4]->getFormHTML()}</td>
<th scope="row">{$extra_keys[6]->name}</th>
<td>{$extra_keys[6]->getFormHTML()}</td>
</tr>
<tr>
<th scope="row">{$extra_keys[5]->name}</th>
<td>{$extra_keys[5]->getFormHTML()}</td>
<th scope="row">{$extra_keys[7]->name}</th>
<td>{$extra_keys[7]->getFormHTML()}</td>
</tr>
</table>
</div>
xe - classes - extravar - extravar.class.php 열고
line 390 쯤에
$buff .=' <input type="text" name="'.$column_name.'" value="'.($value ? $value : $default).'" class="text" />';
이것을
if($this->eid=='확장변수명'&&Context::get('document_srl'))
$buff .=' <input type="text" name="'.$column_name.'" value="'.($value ? $value : $default).'" class="text" readonly="readonly" />';
else
$buff .=' <input type="text" name="'.$column_name.'" value="'.($value ? $value : $default).'" class="text" />';
이렇게 수정하면 됩니다.
적용되어야 할 확장변수가 두개 이상이면
조건문을
if(($this->eid=='확장변수명1'||$this->eid=='확장변수명2')&&Context::get('document_srl'))
이런식으로 추가해 주면 됩니다......
확인 테스트 후
정상작동 확인한 것이니
적용해도 안된다면
이해를 잘못했거나
적용을 잘못했거나이기 때문입니다....
그럴때
천천히 다시 시도해 보시면 됩니다.......
참고:
이것은 한줄입력(text)을 예로 든 것이고
다른 형식이라면
위쪽에서 해당 형식을 찾아서 거기서 수정해야 합니다.......