EC-CUBE
EC-CUBEで発送済みのステータスから入金待ちのステータスに変更しても発送日が消えない方法。
実際に商品の売買をネットでしていると、郵便振替とか銀行振込の場合、先に商品を発送して、料金を後で支払ってもらうという流れをしないといけない事があります。「EC-CUBE」では、そこらへんはあまり考慮されていないようで、先に発送済みにステータスをして、後で入金待ちにステータスを変更した場合、発送日が項目から消されてしまいます。これだと、入金待ちなのに、いつ発送したのか分からないので、困ります。そこで発送日が消されない方法があるのか、「EC-CUBEの開発コミュニティ」で調べてみたら、「受注管理:発送済み→入金待ち時の発送日クリアに関して」スレッドで解決方法が書かれていたので、早速設定しましたヨ。
というわけで、覚え書きも兼ねて、手順を書いときます。
いつも注意書き。今回カスタマイズを施した環境は、EC-CUBE 2.3.4・CERVSERVER・MySQL 5.1.22-rc・PHP 5.2.5です。今後の開発で、使えなくなる場合もあります。
まずは、下記の場所にある「status.tpl」を、エディタ等で開いて下さい。一度、発送済みの処理をした時点で、データベースには発送日のデータが記憶されています。システムの内部処理で、表示されていないだけで、データとしては、ちゃんと記憶しているので、それを表示するようにしてやるだけなんだそうです。
- /data/Smarty/templates/default(別のテンプレートセットを設定している場合はそちら)/admin/order/status.tpl
「status.tpl」の125行あたりに、下記の一文がありますので、探し出して下さい。
<!--{if $arrStatus[cnt].status eq 5}--><!--{$arrStatus[cnt].commit_date|sfDispDBDate:false}--><!--{else}-->未発送<!--{/if}-->
これを下記に書き換えます。
<!--{$arrStatus[cnt].commit_date|sfDispDBDate|default:"未発送"}-->
変更し終わったファイルを、FTPソフトを使って該当するディレクトリにアップロードします。これだけで、発送日が表示されたままになります。