EC-CUBE モバイルサイトを使用しないので転送設定をする方法

banner_120_70  

こんにちは、山本です。

備忘録程度ですが、2回検索してしまったので・・・

 
ひとつ前のバージョンのEC-CUBEですがモバイル(ガラケー)サイトがデフォルトで用意されています。
(今となっては懐かしくなり始めていますね^^;)

単純にmobileというURLをつけるだけで確認できます。

アジケで運用しているマイボトルパークだと以下ですね。
http://www.mybottlepark.com/mobile/

 
しかしほとんど使っていないのと混乱するというので
使いたくないという要望が何件かお客様にありました。

よってどうしようか考えたのですがhtaccessでリダイレクトで対応しようと思いました。

で、単純に以下でいいのかなと思って実装しました。

Redirect permanent /mobile/ http://www.mybottlepark.com/

 
が、これだと
http://www.mybottlepark.com/mobile/products/category_list.php?category_id=2
↓ ↓ ↓
http://www.mybottlepark.com/products/category_list.php?category_id=2
になってしまいます。mobileが消えるだけですね。

 
なので結論から書くと

RedirectMatch /mobile/(.*) http://www.mybottlepark.com/

で、OKです。

以上(゚д゚)ウマー

山本

Read More →

EC-CUBE ポイント利用分も考えた金額を表示させる

こんにちは、山本です。

今日は普段『銀行の入金を確認している人』に朗報のカスタマイズかと。

ECサイトを運用する上で、入金確認をする人は
おそらくステータスを変更する画面を多用するかと思います。

「新規受付」「入金待ち」「入金済み」などのステータスですね。

管理画面では「受注管理」の「ステータス管理」なのですが・・・

ここの「購入金額」の値、ポイント分を考えていません。

つまりポイントを利用しているお客様は、ポイント利用分が引かれていない金額が表示されるので、
銀行に入金があった際に若干金額に誤差が生じてしまいます。

するとこのお客様はポイントを利用したのか、ということを
いちいち確認しなくてはいけません。

 
そこでちょっとしたカスタマイズを。

eccube-2.4.3/data/Smarty/templates/default/admin/order/status.tpl
128行目を以下に変更するだけ(total→payment_total)

	<!--{assign var=payment_id value=`$arrStatus[cnt].payment_id`}-->
	<td align="center"><!--{$arrPayment[$payment_id]|escape}--></td>
	<td align="right"><!--{$arrStatus[cnt].payment_total|number_format}--></td>
	<td align="center"><!--{if $arrStatus[cnt].status eq 5}--><!--{$arrStatus[cnt].commit_date|sfDispDBDate:false}--><!--{else}-->未発送<!--{/if}--></td>
	<td align="center"><!--{$arrORDERSTATUS[$status]}--></td>

これだけで、ポイントを引いた金額になります!

 
細かいことですが、普段EC-CUBEのサイトを運用している人にとっては
微妙な確認作業などが心理的に負担になったりします。

このようなカスタマイズは実際に運用してみないとわからない部分ですよね。

アジケはマイボトルパークを実際に運用しているので、
結構このような管理画面のカスタマイズもしています。

サイトができて終わりでなくて、やはり運用も大切ですからね!

簡単ですので是非お試しあれ!

では!

山本

Read More →

EC-CUBEの売上集計でキャンセルや削除した受注も集計されてしまう

こんにちは、山本です。

EC-CUBEで売上集計というのがあるのですが
これキャンセルや削除した受注情報も集計されてしまいます。

なので今日はそれの修正方法を。

売上集計がリアルタイム集計かバッチモード集計かによって方法が異なります。

 
1.リアルタイム集計の場合
デフォルトではリアルタイム集計になっています。
特にソースを修正する必要はなくて以下のデータベースの中身を消すだけです。

dtb_bat_order_daily
dtb_bat_order_daily_age
dtb_bat_order_daily_hour

データベースが「MySQL」の場合は「phpMyAdmin」を
「PostgreSQL」の場合は「phpPgAdmin」を使った方が便利だと思います。

アジケは基本的に「PostgreSQL」なので、「phpPgAdmin」で・・・

簡単ですね!

 
2.バッチモード集計
次にバッチモード集計の場合ですが
どのようにバッチモード集計の設定をしたかによってやり方が異なります。

私は以下のサイトを参考にバッチモードの設定をしたので
今回はそのやり方でバッチモード設定した場合のやり方を説明します。
(といってもほとんど同じ流れだと思います。)

売上集計をバッチモード(DAILY_BATCH_MODE=true)でやるようにしたらサクサク動くようになった

簡単に流れを説明すると・・・

Cron(毎日朝の4時など)

集計プログラム(独自で作成)

data/class/batchSC_Batch_Daily.phpの「lfStartDailyTotal」の関数を実行

このようになります。

ここでlfStartDailyTotalの関数を呼び出す際に
「いつからいつまでの集計をするという期間」を設定するのですが
それをキャンセルや削除した受注日付まで含めればOKです。

つまり・・・

例えば、5月5日に受注があったけれども5月10日にキャンセルした受注情報があったとします。
で、今日が5月20日だとしたら、15日前(5月5日)まで集計するようにすればOKです!

 
EC-CUBEは細かいバグのようなものがたくさんありますが
少し調べれば結構簡単に修正できるので是非試してください。

では!

山本

Read More →

EC-CUBEの受注管理で受注情報詳細を簡単に見る方法

こんにちは、山本です。

今日もEC-CUBEの小ネタカスタマイズを。

管理画面の受注管理で受注情報を検索した際に
このお客様どんな商品頼まれたのかなぁと詳細情報を見たいけれども、
わざわざ「編集」ボタンを押さなくてはいけなくてちょっと不便ですよね。

そこで調べていたらとても簡単な方法でできました。

同じ受注管理の「ステータス管理」で、「注文番号」をクリックすると詳細情報がポップアップで表示されますよね。
それをまんまパクりました。

eccube-2.4.3/data/Smarty/templates/default/admin/order/index.tpl

                        <tr bgcolor="<!--{$arrORDERSTATUS_COLOR[$status]}-->" class="fs12n">
                            <td align="center"><!--{$arrResults[cnt].create_date|sfDispDBDate}--></td>
                            <td align="center"><!--{$arrResults[cnt].order_id}--></td>
                            <td><!--{$arrResults[cnt].order_name01|escape}--> <!--{$arrResults[cnt].order_name02|escape}--></td>
                            <!--{assign var=payment_id value="`$arrResults[cnt].payment_id`"}-->

441行目を以下に変更するだけ

                        <tr bgcolor="<!--{$arrORDERSTATUS_COLOR[$status]}-->" class="fs12n">
                            <td align="center"><!--{$arrResults[cnt].create_date|sfDispDBDate}--></td>
                            <td align="center"><a onclick="fnOpenWindow('./edit.php?order_id=<!--{$arrResults[cnt].order_id}-->','order_disp','800','900'); return false;" href="/admin/order/status.php"><!--{$arrResults[cnt].order_id}--></a></td>
                            <td><!--{$arrResults[cnt].order_name01|escape}--> <!--{$arrResults[cnt].order_name02|escape}--></td>
                            <!--{assign var=payment_id value="`$arrResults[cnt].payment_id`"}-->

 
 
これで「注文番号」がリンクになったので、
それをクリックすると商品詳細情報がポップアップで表示されます!

 
簡単なカスタマイズで、地味に便利になりますので
是非お試しください。

では!

山本

Read More →

EC-CUBEの受注情報の検索結果の項目を変更する方法

こんにちは、山本です。

今回は実際にお客様から要望があったEC-CUBEのカスタマイズなのですが
非常に簡単なので紹介します。

管理画面の『受注情報』にて受注情報の検索結果の項目を変更する方法です。
お客様から『お届け指定日』を表示させたいとのご要望があったので調べてみるとあっさりできました。

 
デフォルトだとこのような項目ですが・・・

このようにしました。

つまり、

受注日 注文番号 顧客名 支払方法 購入金額(円) 全商品発送日 対応状況 帳票 編集  メール  削除

この『削除』の項目を削除して『お届け予定日』を追加しただけです。

項目を削除するのは簡単だと思ったのですが、
追加ができるのかなぁということで、テンプレートを見てみると・・・

eccube-2.4.3/data/Smarty/templates/default/order/index.tpl

                        <!--{section name=cnt loop=$arrResults}-->
                        <!--{assign var=status value="`$arrResults[cnt].status`"}-->
                        <tr bgcolor="<!--{$arrORDERSTATUS_COLOR[$status]}-->" class="fs12n">
                            <td align="center"><!--{$arrResults[cnt].create_date|sfDispDBDate}--></td>
                            <td align="center"><!--{$arrResults[cnt].order_id}--></td>
                            <td><!--{$arrResults[cnt].order_name01|escape}--> <!--{$arrResults[cnt].order_name02|escape}--></td>
                            <!--{assign var=payment_id value="`$arrResults[cnt].payment_id`"}-->
                            <td align="center"><!--{$arrPayment[$payment_id]}--></td>
                            <td align="right"><!--{$arrResults[cnt].total|number_format}--></td>
                            <td align="center"><!--{$arrResults[cnt].commit_date|sfDispDBDate|default:"未発送"}--></td>
                            <td align="center"><!--{$arrORDERSTATUS[$status]}--></td>
                            <td align="center"><a href="./" onClick="fnOpenPdfSettingPage('pdf.php?order_id=<!--{$arrResults[cnt].order_id}-->','pdf_input','500','650'); return false;"><span class="icon_class">帳票</span></a><input type="checkbox" name="pdf_order_id[]" value="<!--{$arrResults[cnt].order_id}-->" >
                            </td>
                            <td align="center"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnChangeAction('<!--{$smarty.const.URL_ORDER_EDIT}-->'); fnModeSubmit('pre_edit', 'order_id', '<!--{$arrResults[cnt].order_id}-->'); return false;"><span class="icon_edit">編集</span></a></td>
                            <td align="center"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnChangeAction('<!--{$smarty.const.URL_ORDER_MAIL}-->'); fnModeSubmit('pre_edit', 'order_id', '<!--{$arrResults[cnt].order_id}-->'); return false;"><span class="icon_mail">通知</span></a></td>
                            <td align="center"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnModeSubmit('delete_order', 'order_id', <!--{$arrResults[cnt].order_id}-->); return false;"><span class="icon_delete">削除</span></a></td>
                        </tr>
                        <!--{/section}-->

うーん、ごちゃごちゃしてよくわかりませんが、
どうやらこの$arrResultsという変数にいろいろ値が入っているようです。

じゃあその$arrResultsという変数には
どんな値が入っているのかなぁと思って調べてみると・・・

‘order_id’ => ’161′,
‘order_temp_id’ => ’4bf4af8ba77a0R3np2zqf’,
‘customer_id’ => ’68′,
‘message’ => NULL,
‘order_name01′ => ‘山本’,
‘order_name02′ => ‘光彰’,
‘order_kana01′ => ‘ヤマモト’,
‘order_kana02′ => ‘ミツアキ’,
‘order_email’ => ‘info@ajike.co.jp’,
‘order_tel01′ => ’03′,
‘order_tel02′ => ’1234′,
‘order_tel03′ => ’3456′,
‘order_fax01′ => NULL,
‘order_fax02′ => NULL,
‘order_fax03′ => NULL,
‘order_zip01′ => ’112′,
‘order_zip02′ => ’1234′,
‘order_pref’ => ’2′,
‘order_addr01′ => ‘てすと’,
‘order_addr02′ => ’123′,
‘order_sex’ => ’1′,
‘order_birth’ => NULL,
‘order_job’ => NULL,
‘deliv_name01′ => ‘山本’,
‘deliv_name02′ => ‘光彰’,
‘deliv_kana01′ => ‘ヤマモト’,
‘deliv_kana02′ => ‘ミツアキ’,
‘deliv_tel01′ => ’03′,
‘deliv_tel02′ => ’1234′,
‘deliv_tel03′ => ’3456′,
‘deliv_fax01′ => NULL,
‘deliv_fax02′ => NULL,
‘deliv_fax03′ => NULL,
‘deliv_zip01′ => ’112′,
‘deliv_zip02′ => ’1234′,
‘deliv_pref’ => ’2′,
‘deliv_addr01′ => ‘てすと’,
‘deliv_addr02′ => ’123′,
‘subtotal’ => ’3255′,
‘discount’ => NULL,
‘deliv_fee’ => ’500′,
‘charge’ => ’0′,
‘use_point’ => NULL,
‘add_point’ => ’32′,
‘birth_point’ => ’0′,
‘tax’ => NULL,
‘total’ => ’3755′,
‘payment_total’ => ’3755′,
‘payment_id’ => ’3′,
‘payment_method’ => ‘銀行振込’,
‘deliv_id’ => ’0′,
‘deliv_time_id’ => ’0′,
‘deliv_time’ => NULL,
‘deliv_no’ => NULL,
‘note’ => NULL,
‘status’ => ’1′,
‘create_date’ => ’2010-05-20 12:42:14.75875′,
‘loan_result’ => NULL,
‘credit_result’ => NULL,
‘credit_msg’ => NULL,
‘update_date’ => ’2010-05-20 12:42:11.329291′,
‘commit_date’ => NULL,
‘del_flg’ => ’0′,
‘deliv_date’ => NULL,
‘conveni_data’ => NULL,
‘cell01′ => NULL,
‘cell02′ => NULL,
‘cell03′ => NULL,
‘memo01′ => NULL,
‘memo02′ => NULL,
‘memo03′ => NULL,
‘memo04′ => NULL,
‘memo05′ => NULL,
‘memo06′ => NULL,
‘memo07′ => NULL,
‘memo08′ => NULL,
‘memo09′ => NULL,
‘memo10′ => NULL,
‘campaign_id’ => NULL,

うわぁ~多いな!ってdtb_orderのデータベースまんまですね。
なので、ここにある項目なら全部使えそうです。

よって・・・

eccube-2.4.3/data/Smarty/templates/default/order/index.tpl

                        <tr bgcolor="#636469" align="center" class="fs12n">
                            <td width="100"><span class="white">受注日</span></td>
                            <td width="65"><span class="white">注文番号</span></td>
                            <td width="110"><span class="white">顧客名</span></td>
                            <td width="90"><span class="white">支払方法</span></td>
                            <td width="70"><span class="white">購入金額(円)</span></td>
                            <td width="75"><span class="white">発送日</span></td>
                            <td width="85"><span class="white">お届け指定日</span></td>
                            <td width="75"><span class="white">対応状況</span></td>
                            <td width="45"><span class="white">帳票</span><br />
                            <input type="button" name="btn01" value="全て選択" onclick="fnBoxChecked(true);"> <input type="button" name="btn01" value="全て解除" onclick="fnBoxChecked(false);"></td>
                            <td width="45"><span class="white">編集</span></td>
                            <td width="45"><span class="white">メール</span></td>
                            <!--<td width="45"><span class="white">削除</span></td>-->
                        </tr>

                        <!--{section name=cnt loop=$arrResults}-->
                        <!--{assign var=status value="`$arrResults[cnt].status`"}-->
                        <tr bgcolor="<!--{$arrORDERSTATUS_COLOR[$status]}-->" class="fs12n">
                            <td align="center"><!--{$arrResults[cnt].create_date|sfDispDBDate}--></td>
                            <td align="center"><!--{$arrResults[cnt].order_id}--></td>
                            <td><!--{$arrResults[cnt].order_name01|escape}--> <!--{$arrResults[cnt].order_name02|escape}--></td>
                            <!--{assign var=payment_id value="`$arrResults[cnt].payment_id`"}-->
                            <td align="center"><!--{$arrPayment[$payment_id]}--></td>
                            <td align="right"><!--{$arrResults[cnt].total|number_format}--></td>
                            <td align="center"><!--{$arrResults[cnt].commit_date|sfDispDBDate|default:"未発送"}--></td>
                            <td align="center"><!--{$arrResults[cnt].deliv_date}--></td>
                            <td align="center"><!--{$arrORDERSTATUS[$status]}--></td>
                            <td align="center"><a href="./" onClick="fnOpenPdfSettingPage('pdf.php?order_id=<!--{$arrResults[cnt].order_id}-->','pdf_input','500','650'); return false;"><span class="icon_class">帳票</span></a><input type="checkbox" name="pdf_order_id[]" value="<!--{$arrResults[cnt].order_id}-->" >
                            </td>
                            <td align="center"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnChangeAction('<!--{$smarty.const.URL_ORDER_EDIT}-->'); fnModeSubmit('pre_edit', 'order_id', '<!--{$arrResults[cnt].order_id}-->'); return false;"><span class="icon_edit">編集</span></a></td>
                            <td align="center"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnChangeAction('<!--{$smarty.const.URL_ORDER_MAIL}-->'); fnModeSubmit('pre_edit', 'order_id', '<!--{$arrResults[cnt].order_id}-->'); return false;"><span class="icon_mail">通知</span></a></td>
                            <!--<td align="center"><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnModeSubmit('delete_order', 'order_id', <!--{$arrResults[cnt].order_id}-->); return false;"><span class="icon_delete">削除</span></a></td>-->
                        </tr>

429と448行目に『お届け予定日』であるdeliv_dateを追加
『削除』435と454行目をコメントアウト

これだけです!

管理画面もちょっとしたことで非常に見やすく、使いやすくなりますからね。

簡単なので、是非やってみてください。

では!

山本

Read More →

Page 1 of 212Next ›