在Zend Framework中设计器的设计有多糟糕,让我非常难以理解。 我今天花了很多时间,还花了很多时间试图弄清楚如何做一些简单的前端任务。ZF中的Zend_Forms和装饰器 - 在一个容器中显示标签,输入和错误
在我看来,Zend_Forms和装饰器是ZF最糟糕的部分,因为后端和前端没有正确分离。为什么表单类会规定如何打印HTML?
所有我在寻找,东西simple
这样的:
<div class="labeledField">
<label for="username">Username</label>
<input type="text" id="username" name="username" />
</div>
<div class="labeledField">
<label for="password">Password</label>
<input type="password" id="password" name="password" />
</div>
我希望它这样的原因是因为我想要的标签坐在像场的顶部:
[Username ]
[Password ]
通过这种方式,我可以使标签在选择输入时稍微淡化,但在选择输入时仍然保持不变。当输入框包含任何内容时,使用JS标签将被隐藏。此功能存在于Apple购物车上。
我喜欢Zend_form的验证部分,如果后端代码没有规定HTML的外观,我会喜欢它如何放置在前端。
在我看来,要么采取的模板(从frontender与访问/视图/文件夹或我应该可以做一些事情,如:
<div class="labeledField">
<?php
echo $this->form->username->getLabel();
echo $this->form->username->getElement();
$errors = $this->form->username->getErrors();
if (sizeof($errors) > 0) {
?>
<div class="errors">
<?php
foreach($errors as $error) {
?>
<li><?php echo $error ?></li>
<?php
}
?>
</div>
<?php
}
?>
</div>
但随后的模板可以让我只是回声$ this->形式,并使用上述格式作为我想要的字段。
是的,Zend_Form是我最不喜欢的组件。我的建议:沟Zend_Form,并使用验证器类来验证您自己的手动编码形式的输入。 –