/** * Apply catalog rules after product save * * @param Product $subject * @param Product $result * @return Product * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterSave(Product $subject, Product $result) { if (!$result->getIsMassupdate()) { $this->productRuleProcessor->reindexRow($result->getId()); } return $result; }
/** * Apply catalog rules after product resource model save * * @param \Magento\Catalog\Model\ResourceModel\Product $subject * @param callable $proceed * @param \Magento\Framework\Model\AbstractModel $product * @return \Magento\Catalog\Model\ResourceModel\Product * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function aroundSave(\Magento\Catalog\Model\ResourceModel\Product $subject, callable $proceed, \Magento\Framework\Model\AbstractModel $product) { $productResource = $proceed($product); if (!$product->getIsMassupdate()) { $this->productRuleProcessor->reindexRow($product->getId()); } return $productResource; }
/** * Apply catalog rules after product resource model save * * @param \Magento\Catalog\Model\Product $subject * @param callable $proceed * @return \Magento\Catalog\Model\Product */ public function aroundReindex(\Magento\Catalog\Model\Product $subject, callable $proceed) { $proceed(); $this->productRuleProcessor->reindexRow($subject->getId()); return; }