Доброй ночи.
Что Вы имеете ввиду под "сильным геморроем"?
В классе
ActiveField есть метод
public function render() public function render($content = null)
{
if ($content === null) {
if (!isset($this->parts['{input}'])) {
$this->textInput();
}
if (!isset($this->parts['{label}'])) {
$this->label();
}
if (!isset($this->parts['{error}'])) {
$this->error();
}
if (!isset($this->parts['{hint}'])) {
$this->hint(null);
}
$content = strtr($this->template, $this->parts);
} elseif (!is_string($content)) {
$content = call_user_func($content, $this);
}
return $this->begin() . "\n" . $content . "\n" . $this->end();
}
И есть ещё куча методов вроде
public function input(), которые тоже генерируют разные теги.
Думаю, что если его переопределить, добавить то, что Вы хотите, то можно будет добавить свой tag.