我在我的项目中使用 Zend-Framework 。我使用Zend表单创建了一个登录表单,其中包含用户ID和密码字段以及提交按钮。登录表单中的一切正常。
如何在<登录表单中添加两个超链接注册,忘记密码?< / p>
答案 0 :(得分:11)
之前我遇到过同样的问题,并通过创建自定义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);
希望这有帮助!
答案 1 :(得分:7)
在您打印表单的viewscript文件中,例如login.phtml
echo $this->form;
您可以指定任何其他html标记,例如链接
echo "<p><a href='".$this->url ( array ('controller' => 'authentication',
'action' => 'lostPW' ) )."'>
Lost pw </a></p>";
所以你实际上并没有在表单本身中编写它,而是在回显表单的视图脚本中编写它。
答案 2 :(得分:4)
试试这个:
$passwordElement->setDescription('<a href="">Forgot password?</a>');
$passwordElement->getDecorator('Description')->setOption('escape', false);
描述装饰器会在您的字段旁添加此文本。
答案 3 :(得分:1)
您可以使用Zend_Form_Decorator_ViewScript
或者,创建自定义Zend_Form_Element以呈现HTML元素或ViewScript。
答案 4 :(得分:1)
仅限装饰者直接在表格中使用:
$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');