묻고답하기
확장변수 (폼)
2009.09.17 10:17
driver님께서 올려 주신 확장변수 폼에 대한 것입니다.
의 소스를 보고 수정하여 실행을 했더니 아래와 같이 나옵니다.
스킨은 XE 게시판 기본 스킨인데요 저는
view_document.html
<!--@if($oDocument->isExtraVarsExists() && (!$oDocument->isSecret() || $oDocument->isGranted()) )-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<tr>
<th>{$val->name}</th>
<td>{$val->getValueHTML()}</td>
</tr>
<!--@end-->
</table>
<!--@end-->
를
<!--@if($oDocument->isExtraVarsExists() && (!$oDocument->isSecret() || $oDocument->isGranted()) )-->
<table cellspacing="0" summary="" class="extraVarsList">
{@ $extravar_list
=
$oDocument
->getExtraVars()}
<tr>
<td >{$extravar_list
[1]->name}</td> <td>{
$extravar_list
[1]->name}</td>
<td>{
$extravar_list
[2]->name}</td> <td>{
$extravar_list
[2]->name}</td>
</tr>
</table>
<!--@end-->
로 수정하였고,
write_form.html
<!--@if(count($extra_keys))-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($extra_keys as $key => $val)-->
<tr>
<th scope="row">{$val->name} <!--@endforeach-->
</table>
<!--@endif-->
를
<!--@if(count($extra_keys))-->
{@ $extravar_list
=
$oDocument
->getExtraVars()}
<table cellspacing="0" summary="" class="extraVarsList">
<tr>
<td> {$extra_keys
[1]->name}</td> <td>{
$extra_keys
[1]->getFormHTML()}</td>
<td> {
$extra_keys
[2]->name}</td> <td>{
$extra_keys
[2]->getFormHTML()}</td>
</tr>
</table>
<!--@endif-->
로 수정 했습니다.
리스트는 잘 볼 수 있는데 글을 쓰려고 하면 위에서 보여 드린 이상한 페이지가 나오네여
현재는 확장변수를 3개정도 생일, 성별, 세대주이름만 테스트하려고 만든 상태입니다.
다른 소스는 전혀 건드린 것이 없는데 뭐가 잘못된 것일까요?
아니면 원래 xe 게시판 기본 스킨의
<!--@if($oDocument->isExtraVarsExists() && (!$oDocument->isSecret() || $oDocument->isGranted()) )-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<tr>
<th>{$val->name}</th>
<td>{$val->getValueHTML()}</td>
</tr>
<!--@end-->
</table>
<!--@end-->
이 분에서 입력된 데이터 중 원하는 데이터만 출력하는 방법이 뭐가 없을까요....
수정되는 부분을 보니 함수를 써서 원하는 위치의 값을 []를 이용하여 불러오는 것 같은데
기본소스에서는 불가능할까요?
제가 쓰고 있는 형태를 그대로 올려드릴테니 이걸 그대로 복사해서 원하시는 확장변수만 넣으시면 될거 같습니다.
저는 잘 작동하고 있으니 별문제는 없을거 같습니다.
<!--@if(count($extra_keys))-->
{@ $extravar_list = $oDocument->getExtraVars()}
<table cellspacing="0" summary="" class="extraVarsList">
<tr>
<td width="50"> {$extra_keys[1]->name}</td> <td>{$extra_keys[1]->getFormHTML()}</td>
<td width="50"> {$extra_keys[2]->name}</td> <td>{$extra_keys[2]->getFormHTML()}</td>
<td width="60"> {$extra_keys[3]->name}</td> <td>{$extra_keys[3]->getFormHTML()}</td>
<td width="60"> {$extra_keys[4]->name}</td> <td>{$extra_keys[4]->getFormHTML()}</td>
</tr>
<table cellspacing="0" summary="" class="extraVarsList">
<tr>
<td width="50"> {$extra_keys[5]->name}</td> <td>{$extra_keys[5]->getFormHTML()}</td>
<td width="50"> {$extra_keys[6]->name}</td> <td>{$extra_keys[6]->getFormHTML()}</td>
</tr>
</table>
</table>
<!--@endif-->
보라색글자부분은 삭제하셔도 됩니다. 단지 저는 확장변수가 워낙에 많이 들어가다보니 저렇게 테이블별로 구분지어 하고 있어서 그런거니 굳이 넣으실필요는 없을거 같습니다.