郵便番号から住所への変換

出典: SugarForum.jp

特定モジュールに適用する場合

[[SugarRoot/custom/modules/<適用したいモジュール名>/metadata/editviewdefs.php]]

の24行目付近、include情報にajax_zip3のJavascriptを追記。

     'includes' => 
     array (
       0 => 
       array (
         'file' => 'include/javascript/ext-2.0/adapter/ext/ext-base.js',
       ),
       1 => 
       array (
         'file' => 'include/javascript/ext-2.0/ext-all.js',
       ),
       2 => 
       array (
         'file' => 'include/Dynamic_dropdown.js',
       ),
     ),


の箇所を

     'includes' => 
     array (
       0 => 
       array (
         'file' => 'include/javascript/ext-2.0/adapter/ext/ext-base.js',
       ),
       1 => 
       array (
         'file' => 'include/javascript/ext-2.0/ext-all.js',
       ),
       2 => 
       array (
         'file' => 'include/Dynamic_dropdown.js',
       ),
       3 => 
       array (
         'file' => 'http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js',
       ),
     ),

のように、書き足す。

次に郵便番号を指定したいフィールドを探し、カスタムコードを追記する。

       array (
         'name' => '<適用したい項目名(郵便番号)>',
         'label' => '<適用したい項目(郵便番号)ラベル>',
         ),

の箇所を

       array (
         'name' => '<適用したい項目名(郵便番号)>',
         'label' => '<適用したい項目(郵便番号)ラベル>',
           'customCode'=>'
            <input type="text" 
            name="<適用したい項目名(郵便番号)>" maxlength="255" size="30"
            onKeyUp="AjaxZip3.zip2addr(this,\',\'<適用したい項目(県名)>\'
            ,\'[適用したい項目(市区)]\',\'<適用したい項目(町村)>\');"
            value="{$fields.<適用したい項目名>.value}">'
         ),

を追加。

『株式会社人気組』のajaxzip3を利用している為、そのままでは郵便番号データの更新は、 『株式会社人気組』の更新頻度に依存してしまう事と、JSONPを利用しいている特性上、 WEBを閲覧できない環境には、利用できないことに注意しなければいけませんが、その条件を無視できるならば、非常に簡単に郵便番号住所変換に対応できます。

※この改変には『株式会社人気組』のajaxzip3を利用させてもらっています。

利用する際には、下記のページより利用報告をされることを推奨します。


ajaxzip3 採用報告フォーム

http://spreadsheets.google.com/viewform?hl=ja&formkey=cklLZTV0VWpwbWhmWjA2RmV1dGhBdVE6MA..

ajaxzip3 本家サイト

http://code.google.com/p/ajaxzip3/


最終更新 15:10, 2009年9月30日 (水)。   このページは 3,726 回アクセスされました。