CakePHP устанавливает тип ввода в представлении из пользовательского массива - PullRequest
1 голос
/ 23 января 2011

Я хотел бы назначить поля ввода в типах представлений из пользовательского массива, а не из модели, как это обычно делает Cake. Итак, в моем массиве (переданном в представление) есть ключ, который сообщает типу поля, которое должно иметь поле в базе данных:

[type] => 'varchar(32)'

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

Спасибо.

P.S .: Вот те «преобразования», которых я хотел бы добиться (из таблицы): Типы данных, соответствующие в Cake

1 Ответ

0 голосов
/ 02 февраля 2011

linkyndy,

Здесь выполняется сопоставление типов схемы модели с элементами формы HTML - http://api.cakephp.org/view_source/form-helper/#l-738. Кроме того, varchar (32) (строка) создаст элемент ввода HTML при использовании FormHelper,Вы хотите вместо этого текстовую область?

Если вы не хотите использовать автоматическое обнаружение полей, вы можете указать тип элемента в вашем вызове для ввода.Если это неприемлемо, вы можете изменить типы полей БД, чтобы они соответствовали ожиданиям CakePHP ... или управлять результатами schema () вашей модели ... или предоставить своему собственному помощнику переопределенный метод input ().

Задать тип в вызовах $ this-> Form-> input () достаточно просто.

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