1

カスタムデコレータを作成しようとしていますが、問題が発生しました。以下は私のコードです:

$oElement->setDecorators(array(
    'ViewHelper',
    array(array( 'data' => 'HtmlTag'),
    array('tag' => 'dd', 'span' => 'myspan', 'class' => $class . ' myclass ' )),
    array('Label', array('tag' => 'dt', 'class' => $class))
));

フォームをレンダリングした後に次のようになるように、dd 内にスパンを追加します。

<dd class="myclass"> <span> </span> </dd>

ここで何が欠けていますか?

4

1 に答える 1

1

タブレットに Zend がインストールされていないため、これをテストすることはできませんが、スパンを追加する必要があると思います。

$oElement->setDecorators(array(
    'ViewHelper',
    array(array('data' => 'HtmlTag'), 
        array('tag' => 'span', 'class' => $class . 'myspan')),
    array(array('span'   => 'HtmlTag'), 
        array('tag' => 'dd', 'class' => $class . 'myclass')),
    array('Label', array('tag' => 'dt', 'class' => $class))
));

HTML でフォームを作成するよりも手間がかかるように感じたので、個人的に Zend デコレータと Zend Forms 全般にうんざりしたことを覚えています。とにかくこれが役立つことを願っています。

于 2013-04-21T15:28:58.920 に答える