Элементы стиля в Zend Framework со стилем по умолчанию - PullRequest
1 голос
/ 14 марта 2009

В настоящее время я оформляю элементы формы с помощью пользовательского класса CSS, чтобы стилизовать ввод текста по-другому, например:

$submit = new Zend_Form_Element_Submit('login');
$submit->setLabel('Log in')
    ->setAttrib('class', 'submit');

И

$username = new Zend_Form_Element_Text('username');
$username->setLabel('Username')
    ->setAttrib('class', 'textinput');

Но, скажем, у меня есть несколько форм, и я хочу стилизовать все текстовые элементы с textinput и все элементы отправки по умолчанию submit. Есть ли способ сделать это глобально?

Ответы [ 2 ]

2 голосов
/ 06 мая 2009

Вместо установки классов для каждого отдельного типа объекта используйте CSS для стилизации элементов:

input[type="submit"] {
    /* Here goes the stuff that you put in your submit class */
}

input[type="text"] {
    /* here goes the stuff you put in your textinput class */
}

textarea {
    /* here goes the stuff for a text area */
}

Это будет делать то, что вы хотите, и вам не нужно подклассов помощников по умолчанию Zend Framework. Кроме того, он будет выводить меньше HTML, поэтому ваши страницы будут меньше, и CSS можно будет повторно использовать для каждого элемента ввода на странице.

0 голосов
/ 14 марта 2009

Я не эксперт по Zend, но, полагаю, вы могли бы создать подкласс для каждого класса Zend_Form_Element_ * и задать атрибуты, которые вы хотите установить в их конструкторах, т.е. подкласс Zend_Form_Element_Text в Zend_Form_Element_Text_Yatta; затем установите атрибут «класс» в 'textinput' в его конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...