답변
당신은 AnyMarkup의 장식을 확인할 수 있습니다 :
http://www.zfsnippets.com/snippets/view/id/62/anymarkup-decorator
나는 당신의 문제를 해결하는 데 도움이 될한다 예를 준비했다. 여기있다 :
$form = new Zend_Form;
$form->removeDecorator('htmlTag');
$form->setAction('/index/login')
->setMethod('post')
->setAttrib('id', 'login_form');
$username = $form->createElement('text', 'username');
$username->addValidator('alnum')
->setRequired(TRUE)
->setLabel('Username')
->setAttrib('class', 'login_input');
// anonymous function that will generate your image tag
$makeImg = function($content, $element, array $options) {
return '<img src="/images/' . $options['img'] . '" class="' . $options['class'] . ' " alt=""/> ';
};
$username->setDecorators(array(
'ViewHelper',
'Errors',
array('Label', array('class' => 'login_label')),
array('Callback',
array(
'callback' => $makeImg,
'img' => 'user_icon.png',
'class' => 'login_icon',
'placement' => 'PREPEND'
)
),
array('HtmlTag', array('tag' => null, 'class' => 'input_row')),
));
$form->addElement($username);
$submit = $form->createElement('submit', 'login', array(
'label' => 'Login',
'class' => 'login_submit'
)
);
$submit->setDecorators(array(
'ViewHelper',
'Errors',
array('HtmlTag', array('tag' => null, 'class' => 'input_row')),
));
$form->addElement($submit);
양식은 다음과 같은 HTML을 생성 (난 당신 Zend_Form 코드로 암호 필드를 생성하지 않았다 그것을 포함하지 않음) :
<form id="login_form" enctype="application/x-www-form-urlencoded" action="/index/login" method="post">
<div class="input_row">
<img src="/images/user_icon.png" class="login_icon " alt="">
<label for="username" class="login_label required">Username</label>
<input type="text" name="username" id="username" value="" class="login_input">
</div>
<div class="input_row">
<input type="submit" name="login" id="login" value="Login" class="login_submit">
</div>
</form>
어떤 언급 할 가치 것은 내가 Callback 장식을 사용한다는 것입니다 . 이 데코레이터를 사용하면 양식에 사용자 정의 html을 삽입하는 데 사용할 수있는 모든 함수를 호출 할 수 있습니다. 이 예제에서 나는 $makeImg
변수에 할당 된 anonymous 함수를 만들었습니다 (이 경우 PHP 5.3이 필요하지만 PHP의 이전 버전에서는 create_function 함수도 사용 가능). 이 $makeImg
변수가 내 콜백입니다. 알 수 있듯이이 함수는 img
HTML 태그를 생성합니다.
희망이 도움이 될 것입니다. 당신이 보여 완 여기에 당신이 HTML을 작성할 수 있습니다 추가 요소 세트 setDecorators 후 폼 장식
을 사용할 수 있습니다
이전 버전의 PHP 및 zend 프레임 워크 1.5.3을 실행하고 있습니다. 당신의 예제에서 나는 이것을 얻었다 : $ makeImg = create_function ('$ content, $ element, array $ options', 'return ""); – Michael
하지만 오류가 발생합니다 : 경고 : substr_compare() [function.substr-compare] : 시작 위치는 Zend/Form.php의 2207 – Michael
@Michael에서 초기 문자열 길이를 초과 할 수 없습니다. ZF 1.11 있습니다. 따라서 1.5를 사용하면 문제가 될 수 있습니다. 불행히도 ZF 1.5에서 작동시키는 법을 모르겠습니다. – Marcin
.
$this->addElements(array(
$id,
$group_id,
$content_name,
$title,
$content,
$tags,
$status,
$Publish
));
$this->setDecorators(array(array('viewScript', array('viewScript' => 'admin/articleFormDecorator.phtml'))));
- 1. 젠드 프레임 워크 문제는
- 2. 젠드 스튜디오 + 젠드 프레임 워크
- 3. 젠드 프레임 워크 쿼리
- 4. 젠드 프레임 워크 : headTitle() -
- 5. 젠드 프레임 워크 학습
- 6. 젠드 프레임 워크 오류
- 7. 젠드 프레임 워크 쿼리
- 8. 젠드 프레임 워크 leftJoin
- 9. 젠드 프레임 워크 - 정규식
- 10. 젠드 프레임 워크 경로
- 11. 젠드 프레임 워크 쿼리
- 12. 젠드 프레임 워크 모델링
- 13. 젠드 프레임 워크
- 14. 젠드 프레임 워크 내비게이션
- 15. 젠드 프레임 워크
- 16. 방법 젠드 프레임 워크
- 17. 젠드 프레임 워크 코드
- 18. 젠드 프레임 워크 배포
- 19. 젠드 프레임 워크 위키
- 20. Vista의 젠드 프레임 워크
- 21. 젠드 프레임 워크 라우팅
- 22. VPS에서 젠드 프레임 워크?
- 23. 모듈은 젠드 프레임 워크
- 24. 젠드 프레임 워크 기술
- 25. 젠드 프레임 워크 : 레이아웃
- 26. 젠드 프레임 워크 : 젠드 형태의 장식 - 제거 곱셈 <label>
- 27. 젠드 프레임 워크 로거 : 젠드 DB 로거
- 28. 젠드 프레임 워크 : 젠드 양식을 선택 MultiOptions
- 29. 젠드 스튜디오 Intellisense + 젠드 프레임 워크
- 30. PHP 용 레이아웃/장식 프레임 워크?
현재 출력은 무엇입니까? 좋아, 예상 출력을 게시했습니다. – emaillenin