zen-mobile 0.9-1をZen Cart v1.3.8aに入れました。
以下、その手順です。
(1) zen-mobile 0.9-1
ファイルを、EUCからUTF-8に変換する。
(v1.3.8aがUTF-8になっているので。)
(2) includes/init_includes/overrides/init_sessions_for_mobile.php
require(DIR_WS_FUNCTIONS . 'strict_sessions.php');
--> require(DIR_WS_FUNCTIONS . 'sessions.php');
に変更する。
(呼び出すファイルがなくなっているので。)
(3) includes/classes/ZenCart/Mobile.php
「EUC-JP」 --> 「UTF-8」
に変更する。(13カ所)
(v1.3.8aがUTF-8になっているので。)
これで、何とか表示できました。(動作は、確認していません。)
ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
大変貴重な情報ありがとうございます。当方も1.3.8aで携帯対応を探していましたが、まだ対応していないようだったので躊躇しておりました。なんとか動作してくれるとありがたいのですが。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
なお、差分で修正が必要なものは、v1.3.8aのソースを基に修正が必要です。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
すみません。記述を整理します。
(1) zen-mobile 0.9-1
構成するファイルの文字コードをUTF-8にします。
(v1.3.8aの文字コードに合わせます。)
(2) 上書きされるファイル
README.txtに記述されている差分マージが必要なファイルをv1.3.8a用にします。
(v1.3.8aに差分をマージしたファイルと差し換えます。)
(3) includes/classes/ZenCart/Mobile.php
携帯に表示する文字の文字コード変換を「EUC-JP --> SJIS」から「UTF-8 --> SJIS」に変更する。
((1)でUTF-8にしたので、この文字コードからShift_JISに変換します。)
includes/classes/ZenCart/Mobile.php
'EUC-JP' --> 'UTF-8' (コメント部分も含め、13カ所)
(4) includes/init_includes/overrides/init_sessions_for_mobile.php
session関係のファイルがなくなっているので、「strict_sessions.php」から「sessions.php」に変更する。
includes/init_includes/overrides/init_sessions_for_mobile.php
require(DIR_WS_FUNCTIONS . 'strict_sessions.php');
--> require(DIR_WS_FUNCTIONS . 'sessions.php');
逆に、整理できなかったでしょうか?
(1) zen-mobile 0.9-1
構成するファイルの文字コードをUTF-8にします。
(v1.3.8aの文字コードに合わせます。)
(2) 上書きされるファイル
README.txtに記述されている差分マージが必要なファイルをv1.3.8a用にします。
(v1.3.8aに差分をマージしたファイルと差し換えます。)
(3) includes/classes/ZenCart/Mobile.php
携帯に表示する文字の文字コード変換を「EUC-JP --> SJIS」から「UTF-8 --> SJIS」に変更する。
((1)でUTF-8にしたので、この文字コードからShift_JISに変換します。)
includes/classes/ZenCart/Mobile.php
'EUC-JP' --> 'UTF-8' (コメント部分も含め、13カ所)
(4) includes/init_includes/overrides/init_sessions_for_mobile.php
session関係のファイルがなくなっているので、「strict_sessions.php」から「sessions.php」に変更する。
includes/init_includes/overrides/init_sessions_for_mobile.php
require(DIR_WS_FUNCTIONS . 'strict_sessions.php');
--> require(DIR_WS_FUNCTIONS . 'sessions.php');
逆に、整理できなかったでしょうか?
zen_mobileでのログイン用の修正
PCから作成したアカウントで携帯からログインするには、以下の修正が必要なようです。
includes/templates/zen_mobile/templates/tpl_login_default.php
<?php echo zen_draw_input_field('email_address', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_email_address', '20') . ' id="login-email-address"'); ?>
<?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
<br class="clearBoth" />
なお、携帯からのアカウント作成は、姓名のふりがなに関する部分で修正が必要なようです。(includes/templates/zen_mobile/templates/tpl_modules_create_account.phpなど)
includes/templates/zen_mobile/templates/tpl_login_default.php
<?php echo zen_draw_input_field('email_address', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_email_address', '20') . ' id="login-email-address"'); ?>
<?php echo zen_draw_hidden_field('securityToken', $_SESSION['securityToken']); ?>
<br class="clearBoth" />
なお、携帯からのアカウント作成は、姓名のふりがなに関する部分で修正が必要なようです。(includes/templates/zen_mobile/templates/tpl_modules_create_account.phpなど)
zen-mobileでのアカウント作成用の修正
携帯でアカウントを作成するには、以下の修正が必要なようです。
ただし、使用にあたり、制限があります。
FURIKANA_NESESSARY --> ADD_FURIGANA == 'true'に変更します。
対象ファイルは、
includes/templates/zen_mobile/templates/tpl_account_edit_default.php(2カ所)
includes/templates/zen_mobile/templates/tpl_modules_address_book_details.php(2カ所)
includes/templates/zen_mobile/templates/tpl_modules_checkout_new_address.php(2カ所)
includes/templates/zen_mobile/templates/tpl_modules_create_account.php(2カ所)
includes/modules/zen_mobile/create_account.php(5カ所)
です。
制限事項
(1) [管理画面][一般設定][顧客アカウントの設定]ふりがな入力枠を表示する言語がjaだけの場合
携帯で、ふりがななしのアカウントを作成できる。
(2) [管理画面][一般設定][顧客アカウントの設定]ふりがな入力枠を表示する言語がja,ja-mobileを指定した場合
携帯で、アカウントを作成できない。
理由:アカウント作成時、
v1.3.0.2は、customersテーブルにふりがなを格納している。
v1.3.8aは、address_bookテーブルにふりがなを格納するが、customersテーブルにふりがなを格納しない。
そのため、アカウント作成SQLの実行でカラム名がないため、エラーとなる。
したがって、(a)で運用すれば、とりあえずは可能なようである。
根本的には、zen-mobileでv1.3.8a対応をしてもらわないと。
当方、不携帯なもので、実機で確認できません。
とりあえず、Firefox+user agent switerでやってみました。
ただし、使用にあたり、制限があります。
FURIKANA_NESESSARY --> ADD_FURIGANA == 'true'に変更します。
対象ファイルは、
includes/templates/zen_mobile/templates/tpl_account_edit_default.php(2カ所)
includes/templates/zen_mobile/templates/tpl_modules_address_book_details.php(2カ所)
includes/templates/zen_mobile/templates/tpl_modules_checkout_new_address.php(2カ所)
includes/templates/zen_mobile/templates/tpl_modules_create_account.php(2カ所)
includes/modules/zen_mobile/create_account.php(5カ所)
です。
制限事項
(1) [管理画面][一般設定][顧客アカウントの設定]ふりがな入力枠を表示する言語がjaだけの場合
携帯で、ふりがななしのアカウントを作成できる。
(2) [管理画面][一般設定][顧客アカウントの設定]ふりがな入力枠を表示する言語がja,ja-mobileを指定した場合
携帯で、アカウントを作成できない。
理由:アカウント作成時、
v1.3.0.2は、customersテーブルにふりがなを格納している。
v1.3.8aは、address_bookテーブルにふりがなを格納するが、customersテーブルにふりがなを格納しない。
そのため、アカウント作成SQLの実行でカラム名がないため、エラーとなる。
したがって、(a)で運用すれば、とりあえずは可能なようである。
根本的には、zen-mobileでv1.3.8a対応をしてもらわないと。
当方、不携帯なもので、実機で確認できません。
とりあえず、Firefox+user agent switerでやってみました。
メールの文字コードの修正
携帯からアカウントを作成した場合、Welcomeメールが文字化けしました。
以下の修正が必要なようです。
includes/languages/zen_mobile/japanese.php
EUC-JP --> utf-8 (4カ所)
以下の修正が必要なようです。
includes/languages/zen_mobile/japanese.php
EUC-JP --> utf-8 (4カ所)
Re: zen-mobileでのアカウント作成用の修正
フリガナ付きのアカウント作成については、
ですが、
v1.3.8aを使用した場合は、以下のようにすればとりあえずできそうです。
(1) 修正元になるファイルをコピーする。(コピー先の同名ファイルをリネームしておくと良いでしょう。)
コピー元 includes/modules/create_account.php
--> コピー先 includes/modules/zen_mobile/create_account.php
(2) v1.3.0.2とzen-mobileの差分を、includes/modules/zen_mobile/create_account.phpにマージする。
(a) 変更
$nick = zen_db_prepare_input($_POST['nick']);
- if (ACCOUNT_DOB == 'true') $dob = (empty($_POST['dob']) ? zen_db_prepare_input('0001-01-01 00:00:00') : zen_db_prepare_input($_POST['dob']));
+ if (ACCOUNT_DOB == 'true') $dob = zen_db_prepare_input($_POST['dob']);
$email_address = zen_db_prepare_input($_POST['email_address']);
$street_address = zen_db_prepare_input($_POST['street_address']);
(b) 変更
// add in regular email welcome text
- $email_text .= "\n\n" . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_GV_CLOSURE;
+ $email_text .= "\n\n" . EMAIL_TEXT . EMAIL_GV_CLOSURE;
$html_msg['EMAIL_MESSAGE_HTML'] = str_replace('\n','',EMAIL_TEXT);
(c) 削除
// include create-account-specific disclaimer
- $email_text .= "\n\n" . sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, STORE_OWNER_EMAIL_ADDRESS). "\n\n";
$html_msg['EMAIL_DISCLAIMER'] = sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, '<a href="mailto:' . STORE_OWNER_EMAIL_ADDRESS . '">'. STORE_OWNER_EMAIL_ADDRESS .' </a>');
(d) 赤字部分の変更
$country = zen_db_prepare_input($_POST['country']);
なお、ふりがなの入力フィールドの長さが異常に短いのですが、入力はできます。
sumida さんが書きました:制限事項
(1) [管理画面][一般設定][顧客アカウントの設定]ふりがな入力枠を表示する言語がjaだけの場合
携帯で、ふりがななしのアカウントを作成できる。
(2) [管理画面][一般設定][顧客アカウントの設定]ふりがな入力枠を表示する言語がja,ja-mobileを指定した場合
携帯で、アカウントを作成できない。
理由:アカウント作成時、
v1.3.0.2は、customersテーブルにふりがなを格納している。
v1.3.8aは、address_bookテーブルにふりがなを格納するが、customersテーブルにふりがなを格納しない。
そのため、アカウント作成SQLの実行でカラム名がないため、エラーとなる。
ですが、
v1.3.8aを使用した場合は、以下のようにすればとりあえずできそうです。
(1) 修正元になるファイルをコピーする。(コピー先の同名ファイルをリネームしておくと良いでしょう。)
コピー元 includes/modules/create_account.php
--> コピー先 includes/modules/zen_mobile/create_account.php
(2) v1.3.0.2とzen-mobileの差分を、includes/modules/zen_mobile/create_account.phpにマージする。
(a) 変更
$nick = zen_db_prepare_input($_POST['nick']);
- if (ACCOUNT_DOB == 'true') $dob = (empty($_POST['dob']) ? zen_db_prepare_input('0001-01-01 00:00:00') : zen_db_prepare_input($_POST['dob']));
+ if (ACCOUNT_DOB == 'true') $dob = zen_db_prepare_input($_POST['dob']);
$email_address = zen_db_prepare_input($_POST['email_address']);
$street_address = zen_db_prepare_input($_POST['street_address']);
(b) 変更
// add in regular email welcome text
- $email_text .= "\n\n" . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_GV_CLOSURE;
+ $email_text .= "\n\n" . EMAIL_TEXT . EMAIL_GV_CLOSURE;
$html_msg['EMAIL_MESSAGE_HTML'] = str_replace('\n','',EMAIL_TEXT);
(c) 削除
// include create-account-specific disclaimer
- $email_text .= "\n\n" . sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, STORE_OWNER_EMAIL_ADDRESS). "\n\n";
$html_msg['EMAIL_DISCLAIMER'] = sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, '<a href="mailto:' . STORE_OWNER_EMAIL_ADDRESS . '">'. STORE_OWNER_EMAIL_ADDRESS .' </a>');
(d) 赤字部分の変更
$country = zen_db_prepare_input($_POST['country']);
なお、ふりがなの入力フィールドの長さが異常に短いのですが、入力はできます。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
ZenCart v1.3.8a日本語版にzen-mobile 0.9-1をインストールしようとしましたが、zen-mobile 0.9-1のファイルがEUCになっています。
どうすれば文字化けなしでUTF-8に変換するのが可能でしょうか。
ネットでダウンロードしたソフトを使ったら全て文字化けなししまいました。
どうすれば文字化けなしでUTF-8に変換するのが可能でしょうか。
ネットでダウンロードしたソフトを使ったら全て文字化けなししまいました。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
MICHIMATSU さんが書きました:ZenCart v1.3.8a日本語版にzen-mobile 0.9-1をインストールしようとしましたが、zen-mobile 0.9-1のファイルがEUCになっています。
どうすれば文字化けなしでUTF-8に変換するのが可能でしょうか。
ネットでダウンロードしたソフトを使ったら全て文字化けなししまいました。
私がいつも文字コード変換に使っているのは
http://www.kashim.com/kanjitranslator/index.html
です。
UTF-8への変換はBOMに気をつけてくださいね。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
ハルナ さんが書きました:ZenCart v1.3.8a日本語版にzen-mobile 0.9-1をインストールしました。
携帯を使った時
これでとにかく携帯で注文が出来るようになりましたが、携帯で見ると、■カテゴリで探すの下に”叱偲室酌借”と意味の解らない文字化け見たいのが出ていますが、どうすればこれを削除可能でしょうか。
パソコンを使った時
また、zen-mobile 0.9-1を投入した後、パソコンで注文をしますと、
決済の時(ご注文内容を確認してくださいのページで注文確認ボタンを押した時)に画面が真っ白になってしまいます。
また、注文確認書(メール)も送られません。
この解決方法を教えて下さい。
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
こんにちわ!
>>(2) 上書きされるファイル
README.txtに記述されている差分マージが必要なファイルをv1.3.8a用にします。
(v1.3.8aに差分をマージしたファイルと差し換えます。)
1.38aをまったく新規でインストする場合は、
全部上書きするだけで、OKなんでしょうか?
> (v1.3.8aに差分をマージしたファイルと差し換えます。)
ここは、どういう作業をすればよろしいでしょうか?
winmargeで開いたら、確かに差異は分かりますが、
snapshot/1.30/1.38aと、これらを
どう比較してどこの何が最終系とするものんでしょうか?
どなたか、親切な方
お願いできませんでしょうか?
ありがとうございます(マコ★)
>>(2) 上書きされるファイル
README.txtに記述されている差分マージが必要なファイルをv1.3.8a用にします。
(v1.3.8aに差分をマージしたファイルと差し換えます。)
1.38aをまったく新規でインストする場合は、
全部上書きするだけで、OKなんでしょうか?
> (v1.3.8aに差分をマージしたファイルと差し換えます。)
ここは、どういう作業をすればよろしいでしょうか?
winmargeで開いたら、確かに差異は分かりますが、
snapshot/1.30/1.38aと、これらを
どう比較してどこの何が最終系とするものんでしょうか?
どなたか、親切な方
お願いできませんでしょうか?
ありがとうございます(マコ★)
Re: ZenCart v1.3.8a日本語版+zen-mobile 0.9-1にするには。
zen-mobileそのものは、v1.3.0をベースにしています。
また、v1.3.0とv1.3.8では、ふりがなの実装が異なっています。
そのため、zen-mobileによって上書きされるファイルには、v1.3.8と互換性がありません。
そこで、v1.3.0とzen-mobileの差分をとり、その差分部分を、
v1.3.8に反映することで、zen-mobileをv1.3.8に対応させようとするものです。
また、v1.3.0とv1.3.8では、ふりがなの実装が異なっています。
そのため、zen-mobileによって上書きされるファイルには、v1.3.8と互換性がありません。
そこで、v1.3.0とzen-mobileの差分をとり、その差分部分を、
v1.3.8に反映することで、zen-mobileをv1.3.8に対応させようとするものです。