4

4つのサブフォームで構成されるzendフォームがあります。これらのサブフォームの1つには4つの要素があり、それらの要素の1つはzend_form_element_checkboxです。4つの異なる表示グループがあります(サブフォームごとに1つ)-1つは「請求先住所」、もう1つは「クレジットカード情報」、「通知」、「その他」です。

'notifications'がcheckbox要素を持つ部分であると仮定すると、以下以外のデコレータを使用せず、表示グループを使用しない場合、すべてが期待どおりに表示されます。

通知する[]<------はチェックボックスです

これらは、フォームのddタグとdtタグに使用するcssimです。

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'タグと関係がありますか?私が行方不明になっている他の何か?すべての考えと反応に感謝します。

4

1 に答える 1

0

コード内でインライン スタイル宣言の代わりにクラス名を使用してみることができます。

$notificationsGroup->setDecorators(array(
     'FormElements',
      'FieldSet',
      array('HtmlTag',
             array('tag'=>'div',
                   'style'=>'cssclassname'))
                    ));
于 2011-10-04T16:01:23.650 に答える