Написать гиперссылку внутри Zend Form и использовать маршруты? - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть форма для входа и я хочу добавить ссылку "Забыли пароль" внутри. Я узнал, что вы можете использовать описание, чтобы сделать это. Но теперь я начал все менять для работы с маршрутами и хотел бы использовать это также для ссылки на забытый пароль. есть ли шанс сделать это? Я не могу найти решение, кто-нибудь из вас, кто знает, как это сделать?

 $password = new Zend_Form_Element_Password('login_password', array(
    'label'         => 'Password',
    'description'   => '<a href="account/lost">Forgot Password ?</a>',
            'required'  => true,    
            ));
$password->getDecorator('description')->setOptions(array('escape' => false, 'placement' => 'APPEND')); 

Ответы [ 2 ]

2 голосов
/ 21 февраля 2012

Я сталкивался с той же проблемой раньше и получил ответ на

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

Может вам тоже помочь ...

0 голосов
/ 21 февраля 2012

При создании Zend_Form у вас нет доступа к View_Helpers, поскольку для формы не требуется экземпляр представления.Поэтому вам нужно либо получить представление в init-методе вашей формы, либо добавить описание позже (я предпочитаю второе).

Когда вы делаете это первым способом, вы должны получить экземпляр Zend_Controller_Front и затем егоview, наконец, вызовите помощника вида, например, Zend_View_Helper_Url из этого представления.

Последнее может быть достигнуто путем добавления описания позже, например, когда вы передали форму представлению (или в вашем контроллере перед передачей его ввид):

<?php
    $description = '<a href="' . $this->url([...]); . '"'>forgot password?</a>
    $this->form->getElement('login_password')->setDescription($description);
    echo $this->form;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...