我试图将两个文本类型输入放在一行中,并带有一个标签,并将它们包装在代表一行的div中。从某种意义上说,我想从:
<div class="formRow">
<label> date to</label>
<input type="text" name="date" class="dateTimeInput">
</div>
为:
<div class="formRow">
<label> date to</label>
<input type="text" name="date" class="dateInput">
<input type="text" name="time" class="timeInput">
</div>
但我不知道如何实现这一点,因为其他元素已经在显示组中:
$customDecorator = array(
'ViewHelper',
'Label',
'Errors',
array('HtmlTag', array('tag' => 'div', 'class' => 'dialogRow'))
);
// date to
$dateFrom = $this->createElement('text', 'dateFrom', array(
'label' => 'date from',
'decorators' => $customDecorator,
));
// date to
$dateTo = $this->createElement('text', 'dateTo', array(
'label' => 'date to',
'decorators' => $customDecorator,
));
// add first fieldset for shift info
$this->addDisplayGroup(
array('dateFrom', 'dateTo'),
'info',
array('legend' => 'info')
);
任何建议都将受到高度赞赏。
答案 0 :(得分:0)
使用openOnly
和closeOnly
选项使用开始/结束html标记而不是包装器来解决这个问题:
$compositeOpenDecorator = array(
'ViewHelper',
'Errors',
'Label',
array('HtmlTag', array(
'tag' => 'div',
'class' => 'someClass',
'openOnly' => true,
)
));
$compositeCloseDecorator = array(
'ViewHelper',
'Errors',
'Label',
array('HtmlTag', array(
'tag' => 'div',
'closeOnly' => true,
)
));