Customising Pricing
<?php
namespace My\Nosto\Observer\Product;
use Magento\Catalog\Model\Product;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Nosto\Tagging\Model\ElementFilter;
class Load implements ObserverInterface
{
/**
* IMPORTANT! You might need to inject additional services here in order to
* get the custom prices for the product
*/
public function __construct()
{
}
/**
* Observer for "nosto_product_load_after" event
*
* @param Observer $observer
* @return void
*/
public function execute(Observer $observer)
{
/* @var $product \Nosto\Object\Product\Product */
$nostoProduct = $observer->getProduct();
/* @var $product \Magento\Catalog\Model\Product */
$observerData = $observer->getData();
// Check that Magento product is set and get the custom prices from Magento product model
if (!empty($observerData['magentoProduct']) && $observerData['magentoProduct'] instanceof Product) {
$magentoProduct = $observerData['magentoProduct'];
$nostoProduct->setPrice($magentoProduct->getCustomFinalPrice());
$nostoProduct->setListPrice($magentoProduct->getCustomPrice());
}
}
}Last updated