EC CUBE 配達伝票番号を受注画面に入力出来るようにするカスタマイズ

[2010/04/22] [EC CUBE]

配送伝票番号作成の流れです。

1.受注管理画面に配送伝票番号入力欄の作成

2.入力した値のチェック追加

3.発送手配完了後に送信されるメールへ配送伝票番号の挿入

変更するファイル

/data/Smarty/templates/default/admin/order/edit.tpl
発送伝票番号入力欄を作成します。

元データ

                        <table width="678" border="0" cellspacing="1" cellpadding="8" summary=" ">
                            <tr class="fs12n">
                                <td bgcolor="#f2f1ec" width="110">対応状況</td>
                                <td bgcolor="#ffffff">
                                    <!--{assign var=key value="status"}-->
                                    <span class="red12"><!--{$arrErr[$key]}--></span>
                                    <select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
                                    <option value="">選択してください</option>
                                    <!--{html_options options=$arrORDERSTATUS selected=$arrForm[$key].value}-->
                                    </select><br />
                                    <!--{if $smarty.get.mode != 'add'}-->
                                    <span class="red12">※ <!--{$arrORDERSTATUS[$smarty.const.ORDER_CANCEL]}-->に変更時には、在庫数を手動で戻してください。</span>
                                    <!--{/if}-->
                                </td>
                            </tr>
                            <tr class="fs12n">
                                <td bgcolor="#f2f1ec" width="110">発送日</td>
                                <td bgcolor="#ffffff"><!--{$arrForm.commit_date.value|sfDispDBDate|default:"未発送"}--></td>
                            </tr>
                        </table>

修正データ

                        <table width="678" border="0" cellspacing="1" cellpadding="8" summary=" ">
                            <tr class="fs12n">
                                <td bgcolor="#f2f1ec" width="110">対応状況</td>
                                <td bgcolor="#ffffff">
                                    <!--{assign var=key value="status"}-->
                                    <span class="red12"><!--{$arrErr[$key]}--></span>
                                    <select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
                                    <option value="">選択してください</option>
                                    <!--{html_options options=$arrORDERSTATUS selected=$arrForm[$key].value}-->
                                    </select>
                                </td>
                            </tr>
                          <!--{if $tpl_mode != 'add'}-->
			<tr class="fs12n">
				<td bgcolor="#f2f1ec" width="110">配送伝票番号</td>
				<td bgcolor="#ffffff">
                                    <!--{assign var=key value="deliv_no"}-->
                                    <span class="red12"><!--{$arrErr[$key]}--></span><input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" size="80" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" /></td>
				</tr>
                          <!--{/if}-->
                            <tr class="fs12n">
                                <td bgcolor="#f2f1ec" width="110">発送日</td>
                                <td bgcolor="#ffffff"><!--{$arrForm.commit_date.value|sfDispDBDate|default:"未発送"}--></td>
                            </tr>
                        </table>

変更するファイル

/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
配送伝票番号のデータチェックを追加します。
伝票番号とちょっとしたコメントを書くことがあるため「KVa」に設定しています。
伝票番号しか入れない場合は「n」に設定して下さい。

元データ

        // お届け先情報
        $this->objFormParam->addParam("電話番号1", "deliv_tel01", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
        $this->objFormParam->addParam("電話番号2", "deliv_tel02", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
        $this->objFormParam->addParam("電話番号3", "deliv_tel03", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));

修正データ

        $this->objFormParam->addParam("電話番号1", "deliv_tel01", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
        $this->objFormParam->addParam("電話番号2", "deliv_tel02", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
        $this->objFormParam->addParam("電話番号3", "deliv_tel03", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
	$this->objFormParam->addParam("配送伝票番号", "deliv_no", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));

変更するファイルの作成

配送手配完了後の送信メールへ自動的に配達伝票番号が挿入されるようにカスタマイズします。
出荷完了時のみ伝票番号を挿入するため、専用のメールテンプレートを作成します。

「order_mail.tpl」のファイルを複製して、任意のファイル名(例ではdeliverly_mail.tpl)に変更します。

変更するファイル

/data/Smarty/templates/default/mail_templates/deliverly_mail.tpl

元データ

<!--{$tpl_header}-->

******************************************************************
 配送情報とご請求金額
******************************************************************

修正データ

<!--{$tpl_header}-->

******************************************************************
 ヤマト宅急便番号
******************************************************************
お問い合わせ伝票番号
<!--{$arrOrder.deliv_no}-->

クロネコヤマトの荷物お問い合わせシステム
「 http://toi.kuronekoyamato.co.jp/cgi-bin/tneko 」

******************************************************************
 配送情報とご請求金額
******************************************************************

管理画面「システム設定」のマスタデータ管理

mtb_mail_templateで発送完了時に送るメールのIDを確認します。
例のイメージでは、ID:2とID:3(カスタマイズしてます。)

mtb_mail_tpl_pathで先程確認したIDのメールテンプレートを「order_mail.tpl」から「deliverly_mail.tpl」に変更します。

記事の評価

同じカテゴリーの記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です