Novius OS フォームで日本の住所を扱う方法です。元々 Novius OS(FuelPHPベースのCMS) には address(住所)が用意されています。ただし住所欄が先で、郵便番号が後になっています。
Novius OS フォームでは、ドラッグアンドドロップで並べ替えできるので、自分で並べ替えても良いのですが、フォームを作る度に並べ替えるのは面倒なので、設定ファイルに記述しておくことにします。
Novius OS では、このように、いくつかのフォームパーツを纏めたものを登録しておいて、ワンクリックで呼び出しできるようになっています。
元の設定ファイルは、local/applications/noviusos_form/config/controller/admin/form.config.php にありますが、local/config/apps/noviusos_form/controller/admin/form.config.php に独自設定したファイルを置くと、この設定を読み込んでくれます。こうすることで、フォーム本体のコードを改変しなくても、カスタマイズできます。
コードは https://github.com/ounziw/jaaddress に置いています。AGPL ver.3.0 or later で配布しており、自由に利用できます。
※追記※
都道府県を選択式にしました。また多言語対応にしました。対訳ファイルを用意すれば、日本語以外の言語に訳すことができます。
※さらに追記※
動画を作成しました。ajaxzip3 を用いた郵便番号から住所補完も実装しました。