バージョン選択

フォーラム

メニュー

オンライン状況

95 人のユーザが現在オンラインです。 (63 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 94
red もっと...

サイト内検索

質問 > フロント機能 > プラグインからshopping画面での受注をキャンセルさせる方法

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shimbo
投稿日時: 2019/5/21 13:28
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 23
プラグインからshopping画面での受注をキャンセルさせる方法
[EC-CUBE] EC-CUBE3.0.16
[レンタルサーバ] XServer
[OS] FreeBSD 9.1-RELEASE-p24
[PHP] 5.6.36
[データベース] MySQL 5.7.16
[WEBサーバ] Apache
[ブラウザ] Chrome
[導入プラグインの有無] 自作中
[現象]

cart画面からshopping画面に移る際に、エラーが生じたら受注をとりやめ、メッセージを出したいと思っています。

EVENTを設定して、onFrontShoppingIndexInitialize()で処理をさせることはできるようになったのですが、プラグイン側から、購入をキャンセルさせる手段がみつかりません。


//onFrontShoppingIndexInitialize()内

if(エラー時の条件){
	$OrderDetails = $Order->getOrderDetails();
	    foreach ($OrderDetails as $OrderDetail) {
	    $Order->removeOrderDetail($OrderDetail);
	}

	$this->app['orm.em']->persist($Order);
	$this->app['orm.em']->flush();
	$event->setArgument('Order', $Order);
}


というのも試してみたのですが、shopping画面では商品情報は消えているものの、画面は正常で受注ボタンが押せてしまいます。

setDanger()は使えるので、「setDanger()でメッセージを表示して受注ボタンを無効化する」か「エラー画面にリダイレクトしてメッセージを表示する」かしたいのですが、プラグインから「受注ボタンを無効化」したり「リダイレクト」したりしている事例がなかなかみつかりません。

ご存知の方がおられましたら、教えて頂けると助かります。
shimbo
投稿日時: 2019/5/22 13:25
対応状況: 解決済
半人前
登録日: 2018/10/5
居住地:
投稿: 23
Re: プラグインからshopping画面での受注をキャンセルさせる方法
自己解決しました。
テンプレートイベントでソースを書き換えて、ボタンをdisableすることにしました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は51,314名です
総投稿数は93,554件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1986
4
468
1863
5
yuh
1604
6
red
1353
7
umebius
1296
8
h_tanaka
924
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
780
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.