Вы можете создать собственный формат строки, который определяет способ визуализации полей (если вы все равно не используете пользовательский шаблон). Я нашел это в этой теме форума .
Хорошим решением может быть переопределение метода formatRow
:
public function formatRow($label, $field, $errors = array(), $help = '', $hiddenFields = null)
{
if(strip_tags($label) == '__UNSET__')
{
return strtr($this->getRowFormat(), array(
'%label%' => null,
'%field%' => $field,
'%error%' => $this->formatErrorsForRow($errors),
'%help%' => $this->formatHelp($help),
'%hidden_fields%' => is_null($hiddenFields) ? '%hidden_fields%' : $hiddenFields,
));
}
else
{
return strtr($this->getRowFormat(), array(
'%label%' => $label,
'%field%' => $field,
'%error%' => $this->formatErrorsForRow($errors),
'%help%' => $this->formatHelp($help),
'%hidden_fields%' => is_null($hiddenFields) ? '%hidden_fields%' : $hiddenFields,
));
}
}
Затем вы устанавливаете __UNSET__
как метку для тех полей, для которых не должна отображаться их метка.
Или вы даже используете собственный формат строки в зависимости от имени метки, чтобы предотвратить вывод тега с меткой.
Формат строки будет выглядеть так: <div >%field%%help%%error%%hidden_fields%</div>
и будет передаваться вместо $this->getRowFormat()
.
.