2016-08-02 11 views
0

お客様が有効になったお支払い方法のいずれかを使用することが許可されているかどうかを確認します。例えばMagento 2の支払い方法を確認してください

顧客は「代引き」を有効した場合、彼は方法が表示されるはずですが、私はコード内の類似した何かを見つけることができません。 Magentoの1で

がありました:

public function isAvailable() 

Magentoの2でそれを行うための任意の同様の方法はありますか?

答えて

0

は、あなたが取ることができる2つのアプローチがあります:あなたはisAvailable方法で\Magento\Payment\Model\Method\AbstractMethod\Magento\OfflinePayments\Model\Cashondeliveryの親クラス)を見ている場合

オブザーバー

、あなたはそれがpayment_method_is_activeイベントを送出していることがわかりますました(顧客が特定の方法を有効にするかしなかったかどうかを決定するような)いくつかの追加のロジックを実行するために使用することができる:

$this->eventManager->dispatch( 'payment_method_is_active', [ 'result' => $checkResult, 'method_instance' => $this, 'quote' => $quote ] );

プラグイン

isAvailableはパブリックメソッドなので、メソッドにプラグインを追加できます。前、後、または周りのどちらを使用するかは、あなたの特定のニーズに依存します。しかし、これを行う方法を学ぶ良い場所はMagento DevDocsのサイトです:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html

関連する問題