Zend framework 使用标签装饰器-Zend添加所需标记的最佳方法是什么
我有一个关于使用Zend_Form_Decorator_Label的问题,为了在需要表单元素时获得以下结果,我需要获取标签文本*我想知道如何以最可重用的方式实现这一点 是编写新的装饰程序还是覆盖zend\u View\u helper\u FormLabel? 也许还有其他方法可以做到这一点Zend framework 使用标签装饰器-Zend添加所需标记的最佳方法是什么,zend-framework,zend-form,zend-form-element,Zend Framework,Zend Form,Zend Form Element,我有一个关于使用Zend_Form_Decorator_Label的问题,为了在需要表单元素时获得以下结果,我需要获取标签文本*我想知道如何以最可重用的方式实现这一点 是编写新的装饰程序还是覆盖zend\u View\u helper\u FormLabel? 也许还有其他方法可以做到这一点 任何帮助都将不胜感激。由于标签装饰器将CSS类required添加到附加到根据需要指定的表单输入元素的元素中,因此我能够使用CSS:在选择器之后添加符号(如星号),并带有内容()声明: label.requ
任何帮助都将不胜感激。由于标签装饰器将CSS类
required
添加到附加到根据需要指定的表单输入元素的
元素中,因此我能够使用CSS:在选择器之后添加符号(如星号),并带有内容()
声明:
label.required:after {
content: "*";
}
但是,我发现要获得正确的间距、让星号以粗体或我想要的颜色呈现等等都很棘手。因此,我通常会使用CSS以粗体或其他颜色呈现标签本身,然后在表单的顶部或底部添加图例(“需要粗体/红色字段”或类似内容)(通常通过创建我自己的自定义图例装饰器,但有时在视图脚本本身中)。创建装饰器时,可以添加以下选项之一:
$userName->getDecorator('Label')->setReqSuffix(' *');
$userName->getDecorator('Label')->setOptSuffix('(Optional) ');
- optionalPrefix:当元素为可选元素时要使用的标签前缀
- optionalSuffix:当元素为可选元素时使用的标签后缀
- requiredPrefix:需要元素时使用的标签前缀
- requiredSuffix:需要元素时使用的标签后缀
代码示例:
$elementDecorators = array(
'ViewHelper',
array('Label', array('requiredSuffix' => ' *')),
);
$userName = new Zend_Form_Element_Text('userName');
$userName->setDecorators($elementDecorators);
$userName->setLabel('User Name');
或者,您也可以在现有装饰器上显式设置后缀/前缀:
$userName->getDecorator('Label')->setReqSuffix(' *');
$userName->getDecorator('Label')->setOptSuffix('(Optional) ');
我在标签数组中添加了带有'requiredPrefix'参数的requiredPrefix
array('Label', array('tag' => 'span', 'escape' => false, 'requiredPrefix' => '<span class="required">* </span>')),
array('Label',array('tag'=>'span',escape'=>false,'requiredPrefix'=>'*'),
array('Label', array('tag' => 'span', 'escape' => false, 'requiredPrefix' => '<span class="required">* </span>')),