2011-10-11 33 views

回答

2

由於@markus筆記,您可以創建擴展Zend_Form_Element自定義表單元素。

對於你找出一種用途 - 地址,電話號碼 - 這是其他元素的可能聚集,但仍然需要被視爲一個單一實體,看看馬修緯二路O'Phinney的博客文章:

Creating composite elements - phly, boy, phly

其中他創建了一個複合元素,表示由三個選擇下拉列表組成的日期。

另一種方法是創建一個subform來表示其中一個實體。子窗體類可以是這樣的:

class My_Form_Subform_Address extends Zend_Form_Subform 
{ 
    public function init() 
    { 
     // add your elements 
    } 
} 

子窗體然後添加到您的主要形式有:

$form->addSubform(new My_Form_Subform_Address(), 'address'); 
5

我不會建議幫手。我只是擴展表單元素類,構建我的元素,並以我需要的任何形式添加它。

class Project_Form_Element_PhoneNumber extends Zend_Form_Element 
{ 
    //look at the Zend_Form_Element class, it gives you most of the infrastructure 
    //look at how shipped elements are built on top of that class 
}