Как добавить признаки к этикетке, произведенной с Зендом/Формой в структуре Зенда 2

Я добавляю формы к своей странице, используя Зенд/Форму.

Я добавляю элементы, определяя их следующим образом:

    $this->add(array(
            'name' => 'value',
            'attributes' => array(
                    'type'  => 'text',
                    'id' => 'value',
                    'autocomplete' => 'off',
                    'placeholder' => 'Cost',
            ),
            'options' => array(
                    'label' => 'Cost',
            ),
    ));

As you can see there is a 'label' => 'cost' node, this generated a label to go with the input element.

То, как я добавляю классы, приписывает этой этикетке?

22
nl ja de
Пожалуйста, скажите мне, как измениться
добавлено автор Anish Abraham, источник

4 ответы

Пожалуйста, попробуйте это, я не проверил или использовал это, но движение по источнику, это должно функционировать правильно:

$this->add(array(
    'name'       => 'value',
    'attributes' => array(),
    'options'    => array(
        'label_attributes' => array(
            'class'  => 'mycss classes'
        ),
       //more options
    ),        
));

Если это не функционирует, пожалуйста, оставьте меня комментарием. Если это не будет функционировать, это не возможное использование этого подхода, начиная с , FormLabel ограничивает validAttributes вполне немного:

protected $validTagAttributes = array(
    'for'  => true,
    'form' => true,
);
46
добавлено
Сделайте это в представлении, всегда. Ваша точка зрения не должна просачиваться в ваши классы.
добавлено автор emix, источник
Я не соглашаюсь. Можно ли обеспечить некоторые аргументы, почему они сосут? Мои формы - тестируемая единица и предоставляют моей системе прекрасный, полностью утвержденный вход от пользователя.
добавлено автор emix, источник
Хорошо его люди, которые связывают объекты в формы и модели соединения с представлением тогда. Сам компонент удобен, когда используется правильный путь.
добавлено автор emix, источник
Я должен буду проверить это позже, can' t обещают что-либо, хотя структура указывает, что это будет работать: $element-> setLabelAttributes (множество (' class' => ' управляйте label\U 0026\\U 0023\39;)); , Возможно, пытаются добавить label_attributes как под - , варианты - видят отредактированную версию
добавлено автор Sam, источник
Таким образом под вариантами это работает? Или первая версия?: D
добавлено автор Sam, источник
@mike, В то время как genereally я соглашаюсь, Формы - в целом - являются чрезвычайным случаем края веб-разработки. Формы СОСУТ. Вы НЕ МОЖЕТЕ СДЕЛАТЬ ПРАВА ФОРМ. Формы всегда будут беспорядком. Назначение CSS-класса за дефолт в Объекте формы, который, как предполагается, автоматически предоставлен, прекрасно совершенно.
добавлено автор Sam, источник
Формы @mike сосут, потому что - по очень природе - они - компонент, которые являются и слоем Модели и Представления. Они переплетены, они не могут быть разъединены. Конечно, у вас может быть большой Компонент Формы, но это doesn' t означают что они все еще don' t сосут;)
добавлено автор Sam, источник
@mike действительно. Говоря о компоненте как Zend\Form, который чаще всего является, что вы хотите сделать. I' d обсуждают это более опытные программисты don' t больше беспокоятся Формами. Они пишут InputFilters и Картопостроителю / Hydrators, но оставляют форму полностью frontend парням - который в моем опыте также является лучшей вещью сделать.
добавлено автор Sam, источник
Привет Сэм, I' ve изменил элемент следующим образом: $this-> добавляют (множество ( ' name' => ' value' ' attributes' => множество ( ' type' => ' text' ' id' => ' value' ' autocomplete' => ' off' ' placeholder' => ' Cost' ), ' options' => множество ( ' label' => ' Cost' ), ' label_attributes' => множество ( ' class' => ' css' ))); Все еще никакая удача все же. Однако it' s предоставляемый как: <этикетка для = "стоимость"> Стоимость Какая-либо идея о "для"?
добавлено автор El Dorado, источник
Ну, don' t беспокойство;-) It' работы. Спасибо миллиард людей!
добавлено автор El Dorado, источник
Под вариантами! =) Так оставляют отредактированную версию для мира, чтобы видеть!;-)
добавлено автор El Dorado, источник

Это работает хорошо в Структуре Зенда 2.3:

$this->add(array(
  'name' => 'userName',
  'attributes' => array(
      'type'  => 'text',
      'class' => 'form-control',
      'placeholder' =>'Username',
  ),
  'options' => array(
      'label' => 'Username',
      'label_attributes' => array('class' => 'control-label')
  ),

));
1
добавлено

Для программируемого подхода к ZF2 + пробуют это:

$element->setOptions(array(
    'label_attributes' => array(
        'style' => 'color:gray;'
    )
));

Вдохновленный ответом Дэймона.

0
добавлено
$element->setOptions(array('label_class' => array('class' => 'control-label')));

Предоставляет код как это:



Я попробовал это. Это работает в Структуре Зенда Один.

Отметьте, используете ли вы

$element->setOptions(array('label_attributes' => array('class' => 'control-label')));

вы получаете нежелательный эффект по некоторым причинам


0
добавлено
@Crisp, это работало на меня на ZF3. См. также мой ответ...
добавлено автор Dennis, источник
я попробовал это. Это работает в Структуре Зенда Один. That' s большой, но это - вопрос ZF2, это doesn' t работают там.
добавлено автор Crisp, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp