5

Я совершенно новый для Zend, и мне дали проект, чтобы внести коррективы. Я хотел бы добавить html к ярлыкам для своих элементов формы, но я не могу понять, что это правильно.Как разрешить html-теги в ярлыке для элемента формы Zend с помощью addElement()?

Вот что у меня есть:

$this->addElement('text', 'school_name', array(
    'filters' => array('StringTrim'), 
     'validators' => array(
      array('StringLength', false, array(0, 150)), 
     ), 
    'required' => true, 
    'label' => 'Name* :<img src="picture.png">, 
    'size' => '90', 
)); 

Как есть, конечно, <img src="picture.png"> текст получает бежал и отображается вся строка.

Я читал, что мне нужно использовать 'escape' => false в некоторой емкости, но я не могу понять, где/как его использовать в моем конкретном случае.

Любая помощь будет отличной. Благодаря!

ответ

5

После вызова addElement принести декоратора лейбла и изменить настройки побега:

$form->getElement('school_name')->getDecorator('label')->setOption('escape', false);

Если вы используете этот тип этикетки много, вы должны рассмотреть writing a custom decorator.

+0

Это не сработало. Если я правильно читаю свой отладчик (что может быть не так), похоже, что он правильно устанавливает escape-код в false, но на нем все еще отображается полный HTML-код. – TheIronCheek

+0

Код, который я использовал, был '$ this-> getElement ('school_name') -> getDecorator ('label') -> setOption ('escape', false);' – TheIronCheek

+0

Ах, понял это. Мне нужно было поместить этот код в файл .phtml, а не в конструктор. Понял. – TheIronCheek

4

Вы также можете использовать disable_html_escape в «label_options» при добавлении элемента к форме:

$this->add(array(
    .... 
    'options' => array(
     'label' => '<span class="required">Name</span>, 
     'label_options' => array(
      'disable_html_escape' => true, 
     ) 
    ), 
    ... 
)); 

Кредит Théo Bouveret's post 'Button content in ZF2 forms' для ответа.

 Смежные вопросы

  • Нет связанных вопросов^_^