こんにちは、山本です。
今回は実際にお客様から要望があった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 →