EC-CUBE3系 受注管理画面で「お届け日(お届け指定日)」を表示させるカスタマイズ

ec-cube

受注データにお届け日(お届け指定日)されている場合、ヤマトB2クラウドなどでCSVデータを出力する際には1週間以上の指定日データははじかれる。その為、書き出しデータからは除外したい。
しかし、デフォルトの状態では「お届け日」は受注データ画面には表示されないため、カスタマイズする必要がある。

適当なプラグインがないため、カスタマイズの方法は、直接ソースを編集するしかない。
アップデートの際には注意が必要。

1.クエリ修正
ファイル:src¥Eccube¥Repository¥OrderRepository.php

//下記クエリに参照テーブルを追記
$qb = $this->createQueryBuilder(‘o’) ;

$qb = $this->createQueryBuilder(‘o’) ->innerJoin(‘o.Shippings’, ‘m’);
※上記の別名「m」は、任意の値で良いが、別名によっては、条件検索の際にエラーとなる場合がある。例えば、「s」にし、「決済状況」の指定をするとエラーとなるので注意。

2.表示用ソース修正
ファイル:src¥Eccube¥Resource¥template¥admin¥Order¥index.twig

//テーブルに「お届け日」列を追記
<th id=”result_list_main__header_shipping_delivery_date”>お届日</th>
//書き出し列を追記
<td id=”result_list_main__shipping_delivery_date–{{ Order.id }}” style=”color:red;”>
{{ Order.Shippings[0].shipping_delivery_date|date_format }}<!– 指定日 //–><br>
{{ Order.Shippings[0].shipping_delivery_time|default }}<!– 指定時間 //–>
</td>

お届け指定日が表示されるようになりました。

Share on facebook
Facebook
Share on google
Google+
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest

コメントを残す

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

2 × four =