Создать гиперссылку внутри формы Zend?

Я использую Zend-Framework в своем проекте. Я сделал регистрационную форму, используя форму Zend, которая содержит поля User Id и Passwords с кнопкой отправки. Все работает нормально в форме входа.

Как добавить две гиперссылки внутри формы входа, которая является одной из Регистрация и другая для Забыть пароль?

Ответы

Ответ 1

Я столкнулся с той же проблемой раньше и решил ее, создав пользовательский Zend_Form_Element_Html следующим образом:

class Zend_Form_Element_Html extends Zend_Form_Element_Xhtml {
    /**
     * Default form view helper to use for rendering
     * @var string
     */
    public $helper = 'formNote';

    public function isValid($value, $context = null) {
        return true;
    }
}

Итак, в вашей форме вам просто нужно сделать следующее:

$tag = new Zend_Form_Element_Html('forgetPassword');
$tag->setValue('<a href="/forgotten-pwd">Forgotten your password?</a>');
$this->addElement($tag);

Надеюсь, это поможет!

Ответ 2

В вашем файле viewcript, где вы печатаете форму, например. login.phtml

echo $this->form;

вы можете указать любую другую разметку html, например. ссылки

echo "<p><a href='".$this->url ( array ('controller' => 'authentication',
                                        'action' => 'lostPW' ) )."'>
      Lost pw </a></p>";

Итак, вы действительно не пишете его в самой форме, а в представлении script, где вы эхо-форме.

Ответ 3

Попробуйте следующее:

$passwordElement->setDescription('<a href="">Forgot password?</a>');
$passwordElement->getDecorator('Description')->setOption('escape', false);

Описание decorator добавит этот текст рядом с вашим полем.

Ответ 4

Вы можете использовать Zend_Form_Decorator_ViewScript

Или создайте собственный Zend_Form_Element для визуализации элементов HTML или ViewScript.

Ответ 5

Только декораторы используют непосредственно в форме try:

        $this->addElement(new Zend_Form_Element_Note(array(
            'name' => 'forgotten',
            'value' => __('Forgot your password?'),
            'decorators' => array(
                array('ViewHelper'),
                array('HtmlTag', array(
                    'tag' => 'a',
                    'href' => $this->getView()->url(array(
                        'remind'
                    ))
                )),

            )
        )), 'forgotten');