在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,並使用驗證器類來驗證您自己的手動編碼形式的輸入。 –