Установка декораторов на Zend_Form_Element_Checkbox - PullRequest
4 голосов
/ 21 января 2010

У меня есть Zend-форма, состоящая из 4 подчиненных форм.1 из этих подчиненных форм имеет 4 элемента, и один из этих элементов является zend_form_element_checkbox.У меня есть 4 различные группы отображения (по 1 для каждой подчиненной формы) - одна: «адрес выставления счета», одна «информация о кредитной карте», «уведомления» и «misc»

Предполагается, что «уведомления» являются частьюу которого есть элемент checkbox, если я не использую никаких декораторов, кроме перечисленных ниже, и не использую никаких групп отображения, все отображается так, как ожидается, например:

Notify me [] <------ это флажок </p>

Это CSS, которые я использую для тегов dd и dt в форме

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'?Что-то еще мне не хватает?Цените все мысли и ответы.

1 Ответ

0 голосов
/ 04 октября 2011

Вы можете попробовать использовать имя класса вместо встроенного объявления стиля в вашем коде.

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