将HTML放在Zend_Form_Element标签中

时间:2011-03-01 09:28:51

标签: php zend-framework zend-form

我正在开发一个zendframework项目。我的注册页面包含一个字段“我同意使用条款”,附近有一个复选框。在这里,我想将“使用条款”作为链接。但我是zend和PHP5的新手。我检查了代码,下面是显示“我同意使用条款”的代码

'Agree' => array ('Checkbox', array (

    'Required' => true,

    'Decorators' => $element Decorators,

    'Label' => 'I Agree to the Terms of Use', 

)),

我如何将使用条款作为链接?

3 个答案:

答案 0 :(得分:4)

如果正确设置了标签装饰器,则可以将HTML添加到标签中。首先,将'escape' => false添加到标签装饰器的选项中。如果没有看到你的确切装饰者,很难准确地说出它应该如何找到你,但它可能看起来像这样:

$elementDecorators = array(
  // some decorators...
  array('Label',
        array('placement' => 'prepend',
              'escape' => false)),
  // other decorators...
);

然后,将HTML锚点添加到您的标签:

'Label' => 'I Agree to the <a href="/terms-of-use/">Terms of Use</a>', 

警惕在标签上放置链接。标签的本机点击操作是将焦点放在与其关联的输入上。如果您遇到此问题,可以将相同的选项应用于Description装饰器并在其中添加链接。

答案 1 :(得分:1)

您也可以通过以下方式执行此操作:

$radioElement = new Zend_Form_Element_Checkbox('formelement_0');
$radioElement->setLabel('Do you accept the <a href="#">Terms &amp; Conditions</a>?');
$radioElement->getDecorator('Label')->setOption('escape', false);

答案 2 :(得分:-2)

我对此框架一无所知,只是猜测...

'Label' => 'I Agree to the <a href="/terms.pdf">Terms of Use</a>',