EC-CUBE
EC-CUBE2管理画面で配送伝票番号を追加しよう
はち
更新日:2021/08/10
EC-CUBE2の管理画面上で売上があった商品を配送会社を使って配送しないといけませんが、配送伝票番号を入力する項目がありません。
これでは、後から配送番号からの検索して受注を特定することができないので、今回はその項目を追加します。
EC-CUBE2管理画面で配送伝票番号を追加しよう
まず項目を追加します。
対象ファイル
\data\Smarty\templates\admin\order\edit.tpl
※「入金日」と「発送日」の間に以下を追加
1 2 3 4 5 6 7 8 |
<tr> <th>配送伝票番号</th> <td> <!--{assign var=key value="haisou_denpyou_bangou"}--> <span class="attention"><!--{$arrErr[$key][$shipping_index]}--></span> <input type="text" name="<!--{$key}-->[0]" value="<!--{$arrForm[$key].value[0]|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="60" class="box60" /> </td> </tr> |
対象ファイル
\data\class\pages\admin\order\LC_Page_Admin_Order_Edit.php
※LC_Page_Admin_Order_Editクラスのvar $arrShippingKeysのarrayに以下を
‘haisou_denpyou_bangou’, // 追加
1 |
$objFormParam->addParam('配送伝票番号', 'haisou_denpyou_bangou', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); // 追加 |
「dtb_shipping」テーブルにカラム追加
1 |
ALTER TABLE `dtb_shipping` ADD `haisou_denpyou_bangou` TEXT CHARACTER SET utf8 COLLATEutf8_general_ci NULL DEFAULT NULL COMMENT '配送伝票番号' AFTER `del_flg`; |
これで「配送伝票番号」の項目ができます。
つぎに検索フォームに「配送伝票番号」追加します。
対象ファイル
\data\downloads\plugin\DeleteOrderRecovery\templates\admin\order\result_list.tpl
※プラグイン追加で対象ファイルが変更されている下記ファイルも変更
(\data\Smarty\templates\admin\order\index.tplも同箇所を修正)
1 2 |
<th>配送伝票番号</th> <td class="center"><!--{$arrResults[cnt].haisou_denpyou_bangou}--></td> |
対象ファイル
\data\Smarty\templates\admin\order\index.tp
1 2 3 4 5 6 7 8 |
<tr> <th>配送伝票番号</th> <td colspan="3"> <!--{assign var=key value="search_haisou_denpyou_bangou"}--> <span class="attention"><!--{$arrErr[$key]}--></span> <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="30" class="box30" /> </td> </tr> |
対象ファイル
\data\class\pages\admin\order\LC_Page_Admin_Order.php
※public function action()内
1 |
$where = 'dtb_order.del_flg = 0'; |
1 |
$order = 'dtb_order.update_date DESC'; |
※public function lfInitParam()内の
1 |
$objFormParam->addParam('配送伝票番号', 'search_haisou_denpyou_bangou', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); |
※public function buildQuery()内の
1 2 3 4 |
case 'search_haisou_denpyou_bangou': $where .= ' AND haisou_denpyou_bangou LIKE ?'; $arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key)); break; |
1 |
return $objQuery->count('dtb_order LEFT JOIN dtb_shipping ON dtb_order.order_id = dtb_shipping.order_id', $where, $arrValues); |
※ public function findOrders()内の
1 |
return $objQuery->select('*', 'dtb_order LEFT JOIN dtb_shipping ON dtb_order.order_id = dtb_shipping.order_id', $where, $arrValues); |
これでEC-CUBE2で配送伝票番号を入力して使用できます。