CakePHP 1.x系ののヘルパーはHTML5に対応していません。
(CakePHP2.0では対応されます。
FormHelperのinputメソッドでは、type属性にHTML5の属性(number,email等)を入れてしまうと、inputタグではなくtextareaタグとして出力されてしまいます。
非常に残念な感じなので、CakePHP2.0から修正をバックポートしてみます。
参考にしたは、このURL。
#598 Support for HTML5 Input Types in FormHelper – CakePHP – cakephp
ここに書かれている3つの修正を1.3のFormHelperに適用します。
- https://github.com/cakephp/cakephp/commit/e79df234919c27727d750ebb022acdfa04a3dbc0
- https://github.com/cakephp/cakephp/commit/750fe3aa052957e9f0e834a6508d98bdaef6feba
- https://github.com/cakephp/cakephp/commit/6d8c761f2f81d5a239beda6b8957b6ff551c9d45
# git使ってるならcherry-pickとかshowでパッチファイル作ったりとか。
CakePHP1.3.8のFormHelperにパッチを当てたものがこちら。
これを cake/libs/view/helpers/form.php と置き換えればtypeにHTML5の要素を使用できます。
コアを置き換えるのが嫌な場合は、クラス名をForm5Helperなどとして、app/views/helpers/form5.php と保存するとよいでしょう。
Pingback: 今週の管理人ブックマーク (5/22-5/29) - Sometime PHP