Как обернуть сообщение об ошибке Zend_Form в пользовательских HTML? - PullRequest
0 голосов
/ 09 марта 2010

Мне нужно обернуть сообщения об ошибках Zend Form в пользовательский HTML.

<div class="cerror" id="ID-error">
    <div class="ui-widget">
        <div class="ui-state-error ui-corner-all" id="IDerror-msg">
            %ZEND_FORM_ERROR_MESSAGE%
        </div>
    </div>
</div>

Теперь я получаю ошибки в формате:

<ul>
    <li>Error message</li>
</ul>

Мне нужно:

<div class="cerror" id="EMAIL-error">
    <div class="ui-widget">
        <div class="ui-state-error ui-corner-all" id="EMAIL-error-msg">
            <ul>
                <li>Error message</li>
            </ul>
        </div>
    </div>
</div>

Спасибо!

У меня есть следующий код:

        $element->clearDecorators();
        $element->removeDecorator('DtDdWrapper');
        $element->addDecorator('ViewHelper');
        $element->addDecorator('Description', array('tag' => 'p', 'class' => 'description'));
        $element->addDecorator('Label', array('tag' => null));
        $element->addDecorator(array('row' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-line'));

Как обернуть ошибки в 3 тега div? Спасибо!

1 Ответ

0 голосов
/ 09 марта 2010
    $element->clearDecorators();
    $element->addDecorator('Errors');
    $element->addDecorator(array('div1' => 'HtmlTag'), array('tag' => 'div',
                    'class' => 'cerror', 'id' => 'EMAIL-error'));
    $element->addDecorator(array('div2' => 'HtmlTag'), array('tag' => 'div',
                    'class' => 'ui-widget'));
    $element->addDecorator(array('div3' => 'HtmlTag'), array('tag' => 'div',
                    'class' => 'ui-state-error ui-corner-all',
                    'id' => 'EMAIL-error-msg'));
    $element->addDecorator('ViewHelper');
    $element->addDecorator('Description', array('tag' => 'p', 'class' => 'description'));
    $element->addDecorator('Label', array('tag' => null));
    $element->addDecorator(array('row' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-line'));
...