下記スクリプトを使用しています。
http://code.google.com/p/ajaxzip3/
○ 管理画面でも自動入力ができる。
○ https://接続も自動で切り替わる。
1 管理画面とフロントページで利用するので、下記ファイルに同様の記述を行う。
■data/Smarty/templates/admin/main_frame.tpl
■data/Smarty/templates/default/site_frame.tpl
■data/Smarty/templates/default/popup_header.tpl
■data/Smarty/templates/sphone/site_frame.tpl
<!--ajaxzip3住所自動入力--> <!--{if ($smarty.server.HTTPS != "") && ($smarty.server.HTTPS != "off")}--> <script type="text/javascript" src="https://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3-https.js"></script> <!--{else}--> <script type="text/javascript" src="http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js"></script> <!--{/if}-->
2 郵便番号入力箇所があるページを修正する。
修正内容は次の通り
●郵便番号の2つある入力ボックスのうち、2番目の入力ボックスに下記を追加する。
onKeyUp=”AjaxZip3.zip2addr(‘zip01′,’zip02′,’pref’,’addr01′,’addr02′);”
※zip01等の値は、ファイルによって異なる。
●入力ボタンを削除し、 (入力後、住所自動表示)を記述。
【▼変更前】
〒 background-color: ;” /> – background-color: ;” />
*
〒 background-color: ;” /> – background-color: ;” onKeyUp=”AjaxZip3.zip2addr(‘zip01′,’zip02′,’pref’,’addr01′,’addr02′);” />
(入力後、住所自動表示)
(1)管理画面
① SHOPマスター ■data/Smarty/templates/admin/basis/index.tpl
〒 <input type="text" name="zip01" value="<!--{$arrForm.zip01|h}-->" maxlength="3" size="6" class="box6" style="<!--{if $arrErr.zip01 != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" /> - <input type="text" name="zip02" value="<!--{$arrForm.zip02|h}-->" maxlength="4" size="6" class="box6" style="<!--{if $arrErr.zip02 != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" onKeyUp="AjaxZip3.zip2addr('zip01','zip02','pref','addr01','addr02');" /> <span style="font-size:90%;">(入力後、住所自動表示)</span>
② 特定商取引法 ■data/Smarty/templates/admin/basis/tradelaw.tpl
〒 <input type="text" name="<!--{$arrForm[$key1].keyname}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" size="6" class="box6" /> - <input type="text" name="<!--{$arrForm[$key2].keyname}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" size="6" class="box6" onKeyUp="AjaxZip3.zip2addr('law_zip01','law_zip02','law_pref','law_addr01','law_addr02');" /> <span style="font-size:90%;">(入力後、住所自動表示)
③ 会員登録 ■data/Smarty/templates/admin/customer/edit.tpl
〒 <input type="text" name="zip01" value="<!--{$arrForm.zip01|h}-->" maxlength="<!--{$smarty.const.ZIP01_LEN}-->" size="6" class="box6" maxlength="3" <!--{if $arrErr.zip01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /> - <input type="text" name="zip02" value="<!--{$arrForm.zip02|h}-->" maxlength="<!--{$smarty.const.ZIP02_LEN}-->" size="6" class="box6" maxlength="4" <!--{if $arrErr.zip02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> onKeyUp="AjaxZip3.zip2addr('zip01','zip02','pref','addr01','addr02');" /> <span style="font-size:90%;">(入力後、住所自動表示)</span>
④ 受注登録 ■data/Smarty/templates/admin/order/edit.tpl
〒 <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" size="6" class="box6" /> - <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" size="6" class="box6" onKeyUp="AjaxZip3.zip2addr('order_zip01','order_zip02','order_pref','order_addr01','order_addr02');" /> <span style="font-size:90%;">(入力後、住所自動表示)</span>
(2)フロントページ
【PC用】
① お問い合わせ ■data/Smarty/templates/default/contact/index.tpl
<input type="text" name="zip01" class="box60" value="<!--{$arrForm.zip01.value|h|default:$arrData.zip01|h}-->" maxlength="<!--{$smarty.const.ZIP01_LEN}-->" style="<!--{$arrErr.zip01|sfGetErrorColor}-->; ime-mode: disabled;" /> - <input type="text" name="zip02" class="box60" value="<!--{$arrForm.zip02.value|h|default:$arrData.zip02|h}-->" maxlength="<!--{$smarty.const.ZIP02_LEN}-->" style="<!--{$arrErr.zip02|sfGetErrorColor}-->; ime-mode: disabled;" onKeyUp="AjaxZip3.zip2addr('zip01','zip02','pref','addr01','addr02');" /> (入力後、住所自動表示)</span> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank"><span class="mini">郵便番号検索</span></a>
② 会員登録・新しいお届け先 ■data/Smarty/templates/default/frontparts/form_personal_input.tpl
<p class="top">〒 <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1]|h}-->" maxlength="<!--{$smarty.const.ZIP01_LEN}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" class="box60" /> - <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2]|h}-->" maxlength="<!--{$smarty.const.ZIP02_LEN}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" class="box60" onKeyUp="AjaxZip3.zip2addr('zip01','zip02','pref','addr01','addr02');" /> (入力後、住所自動表示)</span> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank"><span class="mini">郵便番号検索</span></a>
③ 会員登録せずに購入 ■data/Smarty/templates/default/shopping/nonmember_input.tpl お客様情報入力
1カ所目
<p class="top">〒 <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" /> - <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" onKeyUp="AjaxZip3.zip2addr('order_zip01','order_zip02','order_pref','order_addr01','order_addr02');" /> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank"><span>郵便番号検索</span></a></p> <p class="zipimg"> (入力後、住所自動表示)</span></p>
2カ所目
<p class="top">〒 <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" class="box60" /> - <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" class="box60" onKeyUp="AjaxZip3.zip2addr('shipping_zip01','shipping_zip02','shipping_pref','shipping_addr01','shipping_addr02');" /> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank"><span class="mini">郵便番号検索</span></a></p> <p class="zipimg"> (入力後、住所自動表示)</span></p>
【スマホ用】
① お問い合わせ ■data/Smarty/templates/sphone/contact/index.tpl
<dt>郵便番号</dt> <dd> <!--{assign var=key1 value="`$prefix`zip01"}--> <!--{assign var=key2 value="`$prefix`zip02"}--> <!--{assign var=key3 value="`$prefix`pref"}--> <!--{assign var=key4 value="`$prefix`addr01"}--> <span class="attention"><!--{$arrErr.zip01}--><!--{$arrErr.zip02}--></span> <p> <input type="tel" name="zip01" value="<!--{$arrForm.zip01.value|default:$arrData.zip01|h}-->" max="<!--{$smarty.const.ZIP01_LEN}-->" style="<!--{$arrErr.zip01|sfGetErrorColor}-->; ime-mode: disabled;" class="boxShort text data-role-none" /> - <input type="tel" name="zip02" value="<!--{$arrForm.zip02.value|default:$arrData.zip02|h}-->" max="<!--{$smarty.const.ZIP02_LEN}-->" style="<!--{$arrErr.zip02|sfGetErrorColor}-->; ime-mode: disabled; class="boxShort text data-role-none"" onKeyUp="AjaxZip3.zip2addr('zip01','zip02','pref','addr01','addr02');" /> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank" rel="external"><span class="fn">郵便番号検索</span></a> </p> </dd>
② 会員登録・新しいお届け先追加 ■data/Smarty/templates/sphone/frontparts/form_personal_input.tpl
<dt>郵便番号 <span class="attention">※</span></dt> <dd> <!--{assign var=key1 value="`$prefix`zip01"}--> <!--{assign var=key2 value="`$prefix`zip02"}--> <!--{assign var=key3 value="`$prefix`pref"}--> <!--{assign var=key4 value="`$prefix`addr01"}--> <!--{assign var=key5 value="`$prefix`addr02"}--> <!--{if $arrErr[$key1] || $arrErr[$key2]}--> <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div> <!--{/if}--> <p><input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1]|h}-->" max="<!--{$smarty.const.ZIP01_LEN}-->" class="boxShort text data-role-none"/> - <input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2]|h}-->" maxlength="<!--{$smarty.const.ZIP02_LEN}-->" class="boxShort text data-role-none" onKeyUp="AjaxZip3.zip2addr('zip01','zip02','pref','addr01','addr02');" /> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank" rel="external"><span class="fn">郵便番号検索</span></a></p> </dd>
③ 会員登録せずに購入 ■data/Smarty/templates/sphone/shopping/nonmember_input.tpl お客様情報入力
1カ所目
<dt>郵便番号 <span class="attention">※</span></dt> <dd> <!--{assign var=key1 value="order_zip01"}--> <!--{assign var=key2 value="order_zip02"}--> <span class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></span> <p> <input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" max="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxShort text data-role-none" /> - <input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" max="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxShort text data-role-none" onKeyUp="AjaxZip3.zip2addr('order_zip01','order_zip02','order_pref','order_addr01','order_addr02');" /> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank"><span class="fn">郵便番号検索</span></a> </p> </dd>
2カ所目
<dt>郵便番号 <span class="attention">※</span></dt> <dd> <!--{assign var=key1 value="shipping_zip01"}--> <!--{assign var=key2 value="shipping_zip02"}--> <span class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></span> <p> <input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" max="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxShort text data-role-none" /> - <input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" max="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxShort text data-role-none" onKeyUp="AjaxZip3.zip2addr('shipping_zip01','shipping_zip02','shipping_pref','shipping_addr01','shipping_addr02');" /> <a href="http://search.post.japanpost.jp/zipcode/" target="_blank"><span class="fn">郵便番号検索</span></a> </p> </dd>
【携帯では、Javascriptが使えないので、住所自動入力を削除】
① 会員登録 ■data/Smarty/templates/mobile/entory/index.tpl
<input type="submit" name="submit_address" value="自動住所入力"><br> 郵便番号を入力後、クリックしてください。<br>
② MYページ会員登録内容変更 ■data/Smarty/templates/mobile/mypage/change.tpl
<input type="submit" name="submit_address" value="自動住所入力"><br> 郵便番号を入力後、クリックしてください。<br>
3 管理画面の「基本情報管理>郵便番号DB登録」を表示しない。
■data/Smarty/templates/admin/basis/subnavi.tpl
style=”display:none;”を追加
<li style="display:none;"<!--{if $tpl_subno == 'zip_install'}--> class="on"<!--{/if}--> id="navi-basis-zip"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->basis/zip_install.php"><span>郵便番号DB登録</span></a></li>