質問 > その他 > SC_Fpdf.phpで注文日が発送日になるのを防ぎたい |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kooji |
投稿日時: 2014/10/24 14:20
対応状況: −−−
|
新米 登録日: 2014/10/24 居住地: 三重 投稿: 3 |
SC_Fpdf.phpで注文日が発送日になるのを防ぎたい ec-cube2.13.2
/data/class/SC_Fpdf.php 下記に書き換えお届け先情報は追加できるのですが、ご注文日が発送日に変わってしまいます。 create_dateどう変えればいいんでしょ? // 受注データの取得 private function lfGetOrderData($order_id) { if (SC_Utils_Ex::sfIsInt($order_id)) { // DBから受注情報を読み込む $objPurchase = new SC_Helper_Purchase_Ex(); $objQuery =& SC_Query_Ex::getSingletonInstance(); $where = 'o.order_id = ?'; $this->arrDisp = $objPurchase->getOrder($order_id); $arrRet = $objQuery->select('*', 'dtb_order as o LEFT JOIN dtb_shipping as s ON o.order_id = s.order_id', $where, array($order_id)); $this->arrDisp = $arrRet[0]; list($point) = SC_Helper_Customer_Ex::sfGetCustomerPoint($order_id, $this->arrDisp['use_point'], $this->arrDisp['add_point']); $this->arrDisp['point'] = $point; // 受注詳細データの取得 $arrRet = $objPurchase->getOrderDetail($order_id); $arrRet = SC_Utils_Ex::sfSwapArray($arrRet); $this->arrDisp = array_merge($this->arrDisp, $arrRet); // その他支払い情報を表示 if ($this->arrDisp['memo02'] != '') { $this->arrDisp['payment_info'] = unserialize($this->arrDisp['memo02']); } $this->arrDisp['payment_type'] = 'お支払い'; } } |
ec9iii |
投稿日時: 2014/10/24 20:50
対応状況: −−−
|
一人前 登録日: 2014/9/8 居住地: 投稿: 117 |
Re: SC_Fpdf.phpで注文日が発送日になるのを防ぎたい まず、整理させて頂くと、追加された箇所は以下でよろしいでしょうか?
原因かどうか未検証ですが、取り急ぎ気になった記述の箇所を書きますね。 ■1 $this->arrDisp = $objPurchase->getOrder($order_id); で値をセットされているものが、 $this->arrDisp = $arrRet[0]; で上書きされると思いますが、これはわざとでしょうか? ■2 $objQuery->select('*', 'dtb_order as o LEFT JOIN dtb_shipping as s ON o.order_id = s.order_id', $where, array($order_id)); の記述で「*」を使用されておりますが、 取得されたcreate_dateが 「dtb_orderのcreate_date」なのか、「dtb_shippingのcreate_date」なのか、 判断できないようなSQLになっている気がしますが、このあたりに原因はありませんでしょうか? |
kooji |
投稿日時: 2014/10/27 11:15
対応状況: −−−
|
新米 登録日: 2014/10/24 居住地: 三重 投稿: 3 |
Re: SC_Fpdf.phpで注文日が発送日になるのを防ぎたい 遅くなって申し訳ありません
■1 このコード、お届け先情報追加で公開されてるコードですが それを、2.13.2に// 受注データの取得の箇所書き換えて 検証したら ご注文日が発送日に書き換わってました お届け先情報は問題なく納品書に連載されます ■2 dtb_orderとdtb_shipping共create_dataが存在してました 原因は以下のとおりが現状です 取得されたcreate_dateが 「dtb_orderのcreate_date」なのか、「dtb_shippingのcreate_date」なのか、 判断できないようなSQLになっている気がしますが、このあたりに原因はありませんでしょうか? sqlよくわからないんですが対処方あるんですか? プラグンの競合性のような順位で回避 |
ec9iii |
投稿日時: 2014/10/28 0:47
対応状況: −−−
|
一人前 登録日: 2014/9/8 居住地: 投稿: 117 |
Re: SC_Fpdf.phpで注文日が発送日になるのを防ぎたい こんにちわ。
どこかのURLを参考にされているんですね。 ■1に関しては、 少し無駄なコードになっているだけですので、あまり気にされなくて良いと思います。 ■2についてですが、 $objQuery->select('*', の部分を、 $objQuery->select('dtb_order.order_id, dtb_order.create_date, dtb_shipping.shipping_name01 〜 ', といったように、必要なテーブル項目を項目名が重複しないように 「テーブル名.項目名」の形式でカンマ区切りで記述してあげると、 >「dtb_orderのcreate_date」なのか、「dtb_shippingのcreate_date」なのか、 >判断できないようなSQL については回避できるはずです。 上記の内容については、プラグインの優先順とかでは解決できませんので、正しいコードを書くしかありません。 ただ、これが直接的な原因かどうかは全体のコードを見ていないので不明です。 もし上記のコードで回避できないようでしたら、 参照されているホームページで直接ご質問できるようなら、その方が良いかもしれません。 機能的なカスタマイズを行う際は、 ある程度SQLの知識は避けられませんので、少しずつでも理解を深めて頂くしかないのですが、 どうしても苦手分野ということでしたら、 機能面を得意とされている製作会社様に部分的にご依頼されるのも良い方法だとは思いますよ〜。 |
kooji |
投稿日時: 2014/11/2 17:58
対応状況: −−−
|
新米 登録日: 2014/10/24 居住地: 三重 投稿: 3 |
Re: SC_Fpdf.phpで注文日が発送日になるのを防ぎたい わかりました。
selectで重複回避ですね やってみます。ありがとうございました。 |
ec9iii |
投稿日時: 2014/11/2 21:44
対応状況: −−−
|
一人前 登録日: 2014/9/8 居住地: 投稿: 117 |
Re: SC_Fpdf.phpで注文日が発送日になるのを防ぎたい ちょうど、私も同様のカスタマイズを行いましたので、共有いたします。
やはりcreate_dateが、dtb_shippingのcreate_dateで上書きされてしまっているようでした。
s.XXXXX 〜 の部分は、 PDFに出力したいお届け先項目を記載してください。 なお、複数配送先の場合は、結果が2件以上取得されてしまうと思いますので、不具合が出そうに思いますが、 当方案件が1配送先限定のため、とりあえずここまでとさせて頂きます。ご容赦ください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |