Создание собственного элемента формы.

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
gshadrin
Сообщения: 1
Зарегистрирован: 2011.07.07, 12:55

Создание собственного элемента формы.

Сообщение gshadrin »

Здравствуйте.
В Yii для упрощения процесса создания форм предоставляются классы помощники (helper). Например, для создания текстового поля, можно вызвать метод CHtml::textField(), для выпадающего списка — CHtml::dropDownList(). Помимо того возможно использование "построителя форм". Тогда используются классы CFormButton и CFormInputElements унаследованные от CFormElement.
Вопрос. Возможно ли использование собственных элементов формы (не стандартных)? Как мне кажется для этого необходимо добавить в CHtml методы для отрисовки этого элемента и добавить собственный type с необходимыми методами в CFormInputElements. Достаточно ли этого? Необходимо ли где-то еще прописать новый элемент?
Возможно существуют примеры, рецепты по созданию собственных элементов? Возможно кто-то делал что-то подобное? На верном ли я пути?
Заранее спасибо.
Аватара пользователя
BuCeFaL
Сообщения: 447
Зарегистрирован: 2010.03.17, 21:22
Откуда: Kiev
Контактная информация:

Re: Создание собственного элемента формы.

Сообщение BuCeFaL »

gshadrin писал(а):Здравствуйте.
В Yii для упрощения процесса создания форм предоставляются классы помощники (helper). Например, для создания текстового поля, можно вызвать метод CHtml::textField(), для выпадающего списка — CHtml::dropDownList(). Помимо того возможно использование "построителя форм". Тогда используются классы CFormButton и CFormInputElements унаследованные от CFormElement.
Вопрос. Возможно ли использование собственных элементов формы (не стандартных)? Как мне кажется для этого необходимо добавить в CHtml методы для отрисовки этого элемента и добавить собственный type с необходимыми методами в CFormInputElements. Достаточно ли этого? Необходимо ли где-то еще прописать новый элемент?
Возможно существуют примеры, рецепты по созданию собственных элементов? Возможно кто-то делал что-то подобное? На верном ли я пути?
Заранее спасибо.
Можно создать свой Класс помощник, править файлы фреймворка очень плохая затея.
Аватара пользователя
greatdane
Сообщения: 408
Зарегистрирован: 2010.10.20, 14:05
Откуда: Электросталь
Контактная информация:

Re: Создание собственного элемента формы.

Сообщение greatdane »

А просто применить класс/ид к стандартным элементам недостаточно? Для этого есть же параметр htmlOptions.
Johnatan
Сообщения: 167
Зарегистрирован: 2010.10.27, 13:06
Откуда: Reino de España

Re: Создание собственного элемента формы.

Сообщение Johnatan »

Загляните в мануал по CFormInputElement

Там написано, что
The type property can also be a class name or a path alias to the class. In this case, the input is generated using a widget of the specified class. Note, the widget must have a property called "model" which expects a model object, and a property called "attribute" which expects the name of a model attribute.
соответственно можно сделать свои элементы формы. Достаточно объявить их как отдельный класс виджета.
Конференция: yii@conference.jabber.ru
Ответить