0

Zend フレームワークでチェックボックスのスタイルを設定する必要があります。その時点で、私の zend フォームは次のようにラベルを設定します。

<dt id="disabled-label"><label for="disabled" class="optional">Disabled Access</label></dt>
<dd id="disabled-element">
<input type="hidden" name="disabled" value="0"><input type="checkbox" name="disabled" id="disabled" value="1"></dd>

出力する必要があります:

バリアフリーアクセス

以下は現状の zend フォームです。明らかに、上記の HTML の短いバージョンのみを示しています。

    public function searchForm() {
        $sp = $this->createElement('checkbox', 'sw')
                ->setOptions(
                array(
                    'label' => 'Swimming Pool',
                )
        );

        $spa = $this->createElement('checkbox', 'spa')
                ->setOptions(
                array(
                    'label' => 'Spa ',
                )
        );

        $gym = $this->createElement('checkbox', 'gym')
                ->setOptions(
                array(
                    'label' => 'Gym ',
                )
        );

        $wifi = $this->createElement('checkbox', 'wifi')
                ->setOptions(
                array(
                    'label' => 'Wifi ',
                )
        );

        $parking = $this->createElement('checkbox', 'parking')
                ->setOptions(
                array(
                    'label' => 'On-Site Parking ',
                )
        );

        $golf = $this->createElement('checkbox', 'golf')
                ->setOptions(
                array(
                    'label' => 'Golf ',
                )
        );

        $wp = $this->createElement('checkbox', 'wp')
                ->setOptions(
                array(
                    'label' => 'Wedding Packages ',
                )
        );

        $cc = $this->createElement('checkbox', 'cc')
                ->setOptions(
                array(
                    'label' => 'Civil Ceremonies ',
                )
        );

        $city = $this->createElement('checkbox', 'city')
                ->setOptions(
                array(
                    'label' => 'City Central ',
                )
        );

        $oot = $this->createElement('checkbox', 'oot')
                ->setOptions(
                array(
                    'label' => 'Out Of Town ',
                )
        );

        $disabled = $this->createElement('checkbox', 'disabled')
                ->setOptions(
                array(
                    'label' => 'Disabled Access ',
                )
        );

        $submit = $this->createElement('submit', 'submit')
                                ->setOptions
                                (array('label' => 'SEARCH OUR HOTELS',
                                       'class' => 'f-left btn-purple icon'
                                    ));

        $this->addElement($sp)
                ->addElement($spa)
                ->addElement($gym)
                ->addElement($wifi)
                ->addElement($parking)
                ->addElement($golf)
                ->addElement($wp)
                ->addElement($cc)
                ->addElement($city)
                ->addElement($oot)
                ->addElement($disabled)
                ->addElement($submit);
    }

}
4

2 に答える 2

0

dtddWrapper次を使用してデコレータを削除できます。

$element->removeDecorator('DtDdWrapper');

<label for...>ただし、タグは追加されます。

または、独自のデコレータを追加することもできます... 詳細については、この投稿を参照してください。

于 2013-10-24T16:31:16.753 に答える
0

使用する:->setLabelAttributes(array(''))

于 2013-10-24T16:37:04.357 に答える