我正在尝试从Zend_Form中获取以下html
<div class="group wat-cf">
<div class="left">
<label class="label right">Username</label>
</div>
<div class="right">
<input type="text" class="text_field">
</div>
</div>
使用以下代码:
$username->setAttrib("class", "text_field")
->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'), array('tag' => 'div', 'class' => 'right')),
array('Label', array('tag' => 'div', 'class' => 'label right')),
array(array('row'=>'HtmlTag'),array('tag'=>'div', 'class' => 'group wat-cf'))
));
我可以获得下一个片段
<div class="group wat-cf">
<div id="username-label">
<label for="username" class="label right required">Username:</label>
</div>
<div class="right">
<input type="text" name="username" id="username" value="" class="text_field">
</div>
</div>
所以除了一些额外的id和必需的课程,我不介意,我需要在div id =“username-label”上获得一个“左”的课程
现在将类添加到Label行,获取在元素上添加的类。我也没有在Label装饰器代码本身中看到和选择这样做。所以我需要一个自定义标签装饰器,还是有其他方式我缺少?
答案 0 :(得分:2)
在较新版本的Zend中,您可以添加tagClass
参数。
请参阅下面的“标签”数组
$username->setAttrib("class", "text_field")
->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'),array('tag' => 'div', 'class' => 'right')),
array('Label', array('tag' => 'div', 'tagClass' => 'left', 'class' => 'label right')),
array(array('row'=>'HtmlTag'),array('tag'=>'div', 'class' => 'group wat-cf'))
));
答案 1 :(得分:0)