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