본문 바로가기
FrameWork/ZendFrameWork

Zend_View Helper - form element 태그 생성하기

by 백룡화검 2008. 8. 13.

view에서 자주, 반복적으로 사용되는 function 을 클래스로 모아놓는 것 같음. ^^;


기본적으로 제공되는 initial helper

form 관련 태그를 자동으로 생성해준다.


<?php echo $this->formText($name, $value, $attribs); ?>


의 형식으로 사용한다.

name은 태그이름, value는 태그값, attribs는 태그 기타설정값(size=12, maxlength=20 등의 정보를 array형태로 전달)


<?php echo $this->formText('name'); ?>

은 아래의 태그로 변환.

<input type="text" name="name" id="name" value="" />


<?php echo $this->formRadio('isActive', 'X', null, array('O' => 'O', 'X' => 'X'), ' '); ?>

은 아래.

<input type="hidden" name="isActive" value="" /><label style="white-space: nowrap;"><input type="radio" name="isActive" value="O" />O</label> <label style="white-space: nowrap;"><input type="radio" name="isActive" value="X" checked="checked" />X</label>

isActive는 태그이름

X는 초기선택값

null 모름

array() 선택가능 항목 'a' => 'b' --> <input type=radio name='name' value='a' />b


formHidden, formRadio, formSubmit 등 여러메소드가 있으며 기본적으로 name, value, attribs 등의 비슷한 인자를 갖음.


기타 자세한 것은 소스를 참고하면 쉽게 알 수 있음.

formCheckbox 변경됨.
기존의 4번째 파라미터 사라지고 2번째 파라미터가 value이며 3번째 파라미터에서 어레이로 checked 의 값을 설정해야 함.
<?php echo $this->formCheckbox('deleteFile', 'O', array('checked' => true)); ?>

// is the element checked?
$checked = '';
if (isset($attribs['checked']) && $attribs['checked']) {
$checked = ' checked="checked"';
unset($attribs['checked']);
} elseif (isset($attribs['checked'])) {
unset($attribs['checked']);
}