CakePHP Formヘルパの拡張 その2
3項目の電話番号入力フィールド

$form->textを拡張して3項目の電話番号入力フィールドを生成

前回に続いて、Formヘルパの拡張の第二弾です。
入力欄としてよくあるものとしては、電話番号や郵便番号を分割された入力フィールドで入力させるケースがあります。
入力フォームはモデル(テーブル)と連携するケースが多いですが、テーブルのカラムが1つなのに入力フォームは分割しなければならない場合などは、少々面倒なことを行う必要があります。

この煩わしさを回避する為に、カラムは1つでも入力欄は3つに自動的に分割されるようにに拡張する方法を検討しました。

結論から言えば、ヘルパだけの拡張では入力欄を分割するところまではできましたが、DBに格納する際に自動的に分割した値を結合することができませんでした。
(イマイチな)解決案として、AppModel内に処理を追加することでDB格納時の自動結合化を行っています。
動作はこちらから確認できます。
Read more

CakePHP Formヘルパの拡張 その1
日本語日付選択プルダウン

$form->datetimeを拡張して日本語の日付選択プルダウンを生成

CakePHP1.2のFormHelperには日付をプルダウンメニューで選択する機能があります。
生年月日の入力などに重宝しますが、日付の書式が英語なので日本の日付形式に変更する必要があります。

そこで、Formヘルパを拡張してExformヘルパクラスを生成し、独自メソッド内で日本語化対応を実施します。
動作はこちらから確認できます。
Read more