|
VirtueMart はデフォルト設定は、都道府県のプルダウン表示や、ユーザ登録をしない設定になっています。いずれも必須ではありませんが、設定方法を説明します。
1. 下記画面は、お客さまがチェックアウトして、お客さま情報を入力する画面です。
ユーザ登録をしていない場合、請求先情報を入力して送信すると、お客さまのメールアドレスにパスワードが送信され、そのパスワードを使ってチェックアウトができるようになっています。
また、都道府県は登録しない設定になっていますので、表示もされません。このままですと、どこに県名を入力するのか迷ってしまうことになりそうです。
ここでは、ユーザ登録をしていただき、都道府県も入力するように設定変更をします。

2. 「コンポーネント」メニューの「VirtueMart」を選択し、メニュー画面を表示し、「設定」をクリックします。

3. 全般設定タブが開き、スクロールダウンします。
- 「ユーザ登録設定」の「サイレントユーザ登録を利用しますか?」のチェックを外します。
- 「フロントエンド設定」の「顧客は都道府県/地域を選択しますか?」にチェックを入れます。
設定後、「保存」をクリックします。

4. 上記の設定後は、ユーザ登録を求めるようになり、都道府県のプルダウンメニューが表示されますが、県名に何も表示されません。

5. 県名を表示されるためには、県名をデータベースに登録する必要がありますので、どこに登録するか調べてみます。
まず、jos_vm_country (プリフィックスはデータベース登録時に指定したものになりますが、ここでは jos_ として表示します)テーブルを開きます。


6. country_id 107 に Japan が登録されていることがわかります。

7. 次に、jos_vm_state を開きます。

8. state_id は 208 まで登録されていますので、都道府県は、state_id 211 から、country_id はすべて 107、country_3_code は 001 から連番、country_2_code は 県名を登録します。 登録する前に、state_2_code の種別を char(2) から char(4) に変更してください。 以下が、登録した内容のサンプルです。


9. 都道府県データを登録後に表示してみると、登録順序とはまったく違った順番で表示されてしまいました。


11. 都道府県の表示順を、state_id 順にするためには、下記の修正が必要です。
修正ファイル: joomla ルート/administrator/components/com_virtuemart/classes/ps_html.php 修正部分: state_name → state_id に変更(237行目くらい)

↓

12. 修正後、都道府県が北海道から順番に表示されるようになりました。

以上が、VirtueMart で都道府県をプルダウンされる設定方法です。

|