SOY Mail連携プラグインがカート側で動作しません

バグかなと思ったらこちらへ。

SOY Mail連携プラグインがカート側で動作しません

投稿記事by inunosinsi on 2017年12月23日(土) 05:50

https://www.soycms.net/release_note/article/SOY_Shop_Ver.1.17.4の「注文登録の処理の順番を変更」により、オーダーカスタムフィールドの拡張ポイントを利用しているSOY Mail連携プラグインが動作しなくなっています。

具体的な内容は
SOY Mail連携プラグインのorder内で配送の有無を設定するのですが、
orderよりも前に顧客情報を登録してしまうため、orderで設定した値が反映されません。

この手の処理は他のプラグインでも行っている可能性があるため、Webマーケティングで大事な機能が不具合を起こしている可能性があります。

修正箇所は
/soyshop/webapp/src/logic/cart/CartLogic.class.phpのorderメソッド内にあるtry内で

コード: 全て選択
try{
   //transaction start
   $orderDAO->begin();

   //注文可能かチェック
   $this->checkOrderable();

   //注文カスタムフィールド 顧客情報の変更を必要とするものもあるため、先に実行しておく
   SOYShopPlugin::load("soyshop.order.customfield");
   $delegate = SOYShopPlugin::invoke("soyshop.order.customfield", array(
      "mode" => "order",
      "cart" => $this,
   ));

   //顧客情報の登録
   $this->registerCustomerInformation();

   //ユーザカスタムフィールド 顧客IDが決まってからでないと実行できないものがあるため、顧客登録の後に実行
   SOYShopPlugin::load("soyshop.user.customfield");
   SOYShopPlugin::invoke("soyshop.user.customfield",array(
      "mode" => "register",
      "app" => $this,
      "userId" => $this->getCustomerInformation()->getId()
   ));

   //注文情報の登録
   $this->orderItems();
   //記録
   $orderLogic = SOY2Logic::createInstance("logic.order.OrderLogic");
   $orderLogic->addHistory($this->getAttribute("order_id"), "注文を受け付けました");
   $orderDAO->commit();
}catch(SOYShop_EmptyStockException $e){
   $this->log($e);
   throw $e;
}catch(SOYShop_OverStockException $e){
   $this->log($e);
   throw $e;
}catch(Exception $e){
   $this->log("---------- Exception in CartLogic->order() ----------");
   $this->log($e);
   $this->log(var_export($this,true));
   $this->log(var_export($e,true));
   $this->log("---------- /Exception ----------");
   $orderDAO->rollback();
   throw new Exception("注文実行時にエラーが発生しました。");
}

の$this->checkOrderable();の下です。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 770
登録日時: 2008年6月12日(木) 20:48

Return to バグ報告

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[3人]

cron