0

一般的な入力のラベルをいくつかの画像に置き換えたいのですが。国リストのあるマルチチェックボックスがあり、各チェックボックスに名前の代わりに国旗を表示したいと思います。

ラベル値としてタグを付けようとしました<img/>が、このhtmlはエスケープされ、画像を表示する代わりにテキストとして表示されます...

ネイティブソリューションはありますか?カスタムデコレータを作成する必要がありますか?

私は現在カスタムデコレータを作成しようとしていますが、私は初心者であり、これには他のよりクリーンな方法があると確信しています!手伝ってくれてありがとう...

4

1 に答える 1

0

やっと自分で見つけました…とてもシンプルだったので、考えもしませんでした。

フォーム要素を作成するときに、オプションescapefalse次のように設定できます。

$this->addElement('multiCheckbox', 'countries', array(
    'filters'    => array(/* some filters */),
    'validators' => array(/* some validators */),
    'label'      => 'Countries :',
    'decorators'  => array( /* some decorators */ ),
    'escape'     => false, /* will prevent the checkboxes' labels to be escaped */
));

チェックボックスのラベルがエスケープされなくなったので、内部にHTMLを設定できます:)

于 2012-10-04T17:20:25.810 に答える