プラグイン > 開発について > プラグインで呼び出し元の後続処理を中断させたい |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
hata |
投稿日時: 2017/6/9 15:21
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: プラグインで呼び出し元の後続処理を中断させたい カート画面の頭にピンクの帯で出るアレですか?
あればテンプレート側に仕込みが必要なので、template/default/Cart/index.twig の以下から必要なところをパクってtemplate/default/Product/detail.twig のイイところに突っ込んでやればいいと思います。
|
h_tanaka |
投稿日時: 2017/6/9 15:34
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: プラグインで呼び出し元の後続処理を中断させたい hataさん
ありがとうございます! 処理の方見ながら悩んでましたが、twig側に表示領域がないだけだったんですね。 次の実装でうまくいきました! event.yml
Event.php
|
hata |
投稿日時: 2017/6/9 15:46
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: プラグインで呼び出し元の後続処理を中断させたい さっきみたらaddRequestError()の処理はこんなでした。
(twig側でapp.session.flashbag.getのパラメータに使っている文字列をキーにメッセージ登録) 取り出せるんですねー。へー。 おかげさまで勉強になりました。 |
h_tanaka |
投稿日時: 2017/6/9 15:50
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: プラグインで呼び出し元の後続処理を中断させたい いえいえ、こちらこそ”へー”です。笑
|
h_tanaka |
投稿日時: 2017/6/16 9:45
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: プラグインで呼び出し元の後続処理を中断させたい 追記です。
カート追加処理前に mode を強制的に変更し、カート追加処理をさせない以下の実装のやり方、EC-CUBE 3.0.11 以降では有効ですが、3.0.10 以前では無効でした。 Event.php
原因は、 src/Eccube/Controller/ProductController.php における条件分岐で、3.0.10 以前では add_cart を判定していないためです。 src/Eccube/Controller/ProductController.php 3.0.11〜
src/Eccube/Controller/ProductController.php 〜3.0.10
これはどうしようもないので、プラグインの対応バージョンを 3.0.11 以降とすることにします。
|
hata |
投稿日時: 2017/6/16 11:05
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: プラグインで呼び出し元の後続処理を中断させたい そうでしたか。
初期表示のときのルートはどこを通っているでしょうか? フックポイントでそれと同じ条件に変更できるならスルーできるかも知れませんがどうでしょうか。 無理強いはしません。 |
h_tanaka |
投稿日時: 2017/6/16 11:21
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: プラグインで呼び出し元の後続処理を中断させたい なるほど!
フックポイントの後、条件分岐だけを抜粋すると次のような感じでした。 src/Eccube/Controller/ProductController.php
そこで、プラグインのイベント処理において、
の代わりに、
をすることで 3.0.10 でもカート追加処理を中断させることができました。 リクエストメソッドを変更するのは恐る恐るでしたが、Symfony ではメソッドによらずリクエストオブジェクトが共通化されているためかいまのところ問題なく動作しています。
|
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |