serializer = $serializer; } /** * Update price on quote item options level * * @param OrigQuoteItem $subject * @param AbstractItem $result * @return AbstractItem * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterCalcRowTotal(OrigQuoteItem $subject, AbstractItem $result) { $bundleAttributes = $result->getProduct()->getCustomOption('bundle_selection_attributes'); if ($bundleAttributes !== null) { $actualPrice = $result->getPrice(); $parsedValue = $this->serializer->unserialize($bundleAttributes->getValue()); if (is_array($parsedValue) && array_key_exists('price', $parsedValue)) { $parsedValue['price'] = $actualPrice; } $bundleAttributes->setValue($this->serializer->serialize($parsedValue)); } return $result; } }