Özel promorülleri depolamak için Magento 2'de yeni bir tablo oluşturdum, şimdi controller_action_predispatch_checkout_cart_couponPost
etkinliği için gözlemci oluşturdum ve bu gözlemcinin içinde kullanıcı herhangi bir özel kural girip girmediğini kontrol etmek istiyorum Bu kurala göre indirim uygulanır. Magento 2'de gözlemciyi kullanarak özel promosyon kuralı uygulayın
<?php
namespace Webkul\Grid\Observer;
use Magento\Framework\Event\ObserverInterface;
class coupenAppliedAfter implements ObserverInterface
{
/**
* @var ObjectManagerInterface
*/
protected $_objectManager;
/**
* @param \Magento\Framework\ObjectManagerInterface $objectManager
*/
public function __construct(
\Magento\Framework\ObjectManagerInterface $objectManager
) {
$this->_objectManager = $objectManager;
}
/**
* customer register event handler
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
// get enetered coupen code
$controller = $observer->getControllerAction();
$couponCode = $controller->getRequest()->getParam('coupon_code');
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$connection = $objectManager->get('Magento\Framework\App\ResourceConnection')->getConnection('\Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION');
// get list of coupon codes from that custom table
$all_custom_codes = $connection->fetchAll("SELECT * FROM custom_promotion_rules");
foreach($all_custom_codes as $code) {
$db_coupen_code = $code['code'];
// matching if user has entered any custom code
if($couponCode == $db_coupen_code) {
// if yes trying to apply custom discount
$DiscountAmount = $code['discount_amount'];
$result = $observer->getEvent()->getResult();
$result->setAmount($DiscountAmount);
$result->setBaseAmount($DiscountAmount);
}
}
}
}
ama kodunun üzerinde
çalışmıyor ve veren hataFatal error: Uncaught Error: Call to a member function setAmount() on null
Bunun çözüm önermek edin:
Aşağıda benim kodudur.
Var_dump ($ sonuç) ne üretir? – TheRealJAG