0

既存のフォームに同意チェックボックスを追加しています。チェックボックスの右側にラベルを表示できません。私は何を間違っていますか?

$this->addElement(フォームの残りの部分はこの方法で作成されているため 、チェック ボックスは を使用して作成されていることに注意してください。

よろしくお願いします。

$this->addElement('checkbox', 'isUserConsent', array(
        'options'   => array(array('placement' => 'APPEND')),
        'label' => 'Plz activate',
        'validators'    => array(
            array('InArray', false, array(
                'hay' => array(1),
                'messages' => 'Please check the consent box'),
           )
        ),
        'decorators'    => array('ViewHelper','Errors','Label'),
 ));
4

2 に答える 2

2

デフォルトではラベルを先頭に追加しますが、デコレータの 'placement' オプションを変更することでこれを変更できます:

$this->getElement('isUserConsent')->getDecorator('label')->setOption('placement', 'append');

編集:デコレータにこの構文を使用することはありませんが、次のようにする必要があります:

$this->addElement('checkbox', 'isUserConsent', array(
        'options'   => array(array('placement' => 'APPEND')),
        'label' => 'Plz activate',
        'validators'    => array(
            array('InArray', false, array(
                'hay' => array(1),
                'messages' => 'Please check the consent box'),
           )
        ),
        'decorators'    => array(
            'ViewHelper',
            'Errors',
            'Label' => array(
                'placement' => 'append'
            )
         ),
 ));
于 2013-01-31T16:37:03.857 に答える
0

これは、フォーム要素のラベルをレンダリングするためのコードです。

$this->form->name->renderLabel() ;

于 2013-02-13T08:38:33.287 に答える