Cập nhật Tôi có thể làm việc này bằng cách tạo trang trí nhãn tùy chỉnh, mở rộng Zend/Form/Decorator/Label.php. Tôi đã thêm một phương thức setTagClass() vào nó và overrode phương thức render để tạo thẻ kèm theo với lớp mong muốn. Có thể có một cách thanh lịch hơn để làm điều đó nhưng điều này dường như làm việc.Biểu mẫu Zend - Đặt lớp học trên nhãn dt
Tôi đang tìm thông tin về cách đặt lớp trên phần tử dt của nhãn bằng cách sử dụng trang trí. Dòng mã thứ ba bên dưới đặt lớp trên nhãn và kết thúc nhãn trong thẻ dt. Tôi muốn biết làm thế nào tôi có thể thiết lập các lớp học trên thẻ dt.
$txtLangPrefOther = $this->createElement('text','langPrefOther');
$txtLangPrefOther->setLabel('Language Preference Other:'));
$txtLangPrefOther->getDecorator('Label')->setOptions(array('tag' => 'dt', 'class' => 'other'));
này tạo ra như
<dt id="langPrefOther-label">
<label for="langPrefOther" class="other">Language Preference Other:</label>
</dt>
<dd id="langPrefOther-element">
<input type="text" id="langPrefOther" name="langPrefOther" ">
</dd>
Tôi muốn nó trông giống như
<dt id="langPrefOther-label" class="other">
<label for="langPrefOther">Language Preference Other:</label>
</dt>
<dd id="langPrefOther-element">
<input type="text" id="langPrefOther" name="langPrefOther" ">
</dd>
Tôi chỉ muốn của một số dt để có bộ lớp 'khác', không phải tất cả trong số họ. – Chris
Vì vậy, bạn có thể sử dụng jquery. $ ('# idOfFormElement'). Gần nhất ('dt'). AddClass ('className'); – cnkt
Hoặc bạn có thể làm $ form-> element-> setDecorator ('HtmlTag', mảng ('tag' => 'dl', class => 'theclass')) –