2010-01-20 63 views
4

我有一個由4個子表單組成的zend表單。 其中1個子表單有4個元素,其中一個元素是zend_form_element_checkbox。 我有4個不同的顯示組(每個子窗體1個) - 一個是:'帳單地址',一個是'信用卡信息','通知'和'其他'將裝飾器設置爲Zend_Form_Element_Checkbox

假設「通知」具有複選框元件,如果我不使用任何裝飾除了以下內容,不使用任何的顯示組,一切都顯示爲預期即:

通知我[] < ------是複選框

這些是用於dd和dt標籤的css im格式

dt{ 
    display: block; 
    margin: 0; 
    padding: 0 0 10px 10px; 
    width: 220px; 
    text-align: left; 
} 

dd{ 
    display: inherit; 
    margin: 0; 
    padding: 0 0 10px 10px; 
    width: 200px; 
    float: left; 
} 

現在,當我顯示該子形式作爲顯示組,我使用這樣的:

$notificationsGroup->setDecorators(array(
    'FormElements', 
     'FieldSet', 
     array('HtmlTag', 
      array('tag'=>'div', 
        'style'=>'width:90%;padding-left:45px;padding-bottom:25px;')) 
        )); 

最終的結果是,所有的元素來顯示組內除實際的檢查框(像 - 只有框 - 顯示組內的複選框的標籤)

我已經嘗試使用其他標籤,似乎沒有任何工作。 這與'div'標籤有關嗎?我錯過了什麼? 欣賞所有想法和迴應。

+0

9個視圖而不是一個單獨的建議? :)大聲笑 – 2010-01-22 14:59:03

+0

我真的不明白髮生了什麼,你能顯示生成的HTML嗎? – Ashnur 2011-10-02 11:17:46

回答

0

您可以嘗試在代碼中使用類名而不是內聯樣式聲明。

$notificationsGroup->setDecorators(array(
    'FormElements', 
     'FieldSet', 
     array('HtmlTag', 
      array('tag'=>'div', 
        'style'=>'cssclassname')) 
        ));