Название для элементов ввода Zend Framework - PullRequest
0 голосов
/ 21 августа 2011

Привет, я пытаюсь добавить атрибут заголовка к элементу ввода, созданному таким образом

$this->createElement('text', 'tv_id', array(
        'label'      => 'Tv Id',
        'class'      => 'htmlfivify_number',
        'readonly'      => 'True',
        'required'      => False,
        'filters'    => array('Int'),
        'validators'    => array('Digits', 'Int')
));

Я попытался добавить 'title' = "some title text' в опциях, но он не появился, я хочудобавить этот атрибут заголовка, чтобы он отображался в виде всплывающей подсказки, когда пользовательская мышь накрывает ввод.

Как этого достичь?

1 Ответ

1 голос
/ 21 августа 2011
$element = $this->createElement('text', 'tv_id', array(
    'label'      => 'Tv Id',
    'class'      => 'htmlfivify_number',
    'readonly'      => 'True',
    'required'      => False,
    'filters'    => array('Int'),
    'validators'    => array('Digits', 'Int')
));
$element->setAttrib('title', 'My title text');

Должен получить ваш заголовок.

Из руководства ZF

Для элементов формы могут потребоваться дополнительные метаданные.Например, для элементов формы XHTML вы можете указать такие атрибуты, как класс или идентификатор.Для облегчения этого есть набор методов доступа:

setAttrib ($ name, $ value): добавить атрибут

setAttribs (массив $ attribs): аналогично addAttribs (), но перезаписывает

getAttrib ($ name): получить значение одного атрибута

getAttribs (): получить все атрибуты в виде пар ключ / значение

Однако в большинстве случаев вы можете просто получить к ним доступв качестве свойств объекта, поскольку Zend_Form_Element использует перегрузку для облегчения доступа к ним:

// Equivalent to $element->setAttrib('class', 'text'):
$element->class = 'text;
<="" span="">

По умолчанию все атрибуты передаются помощнику вида, используемому элементом во время рендеринга, и отображаются как атрибуты HTML тега элемента.,

так что вы также можете сделать $element->title = 'My title text'

...