/** * {@inheritdoc} */ public function getProductDefaultTemplateData(ProductInterface $product) { $shippingMethodCosts = $this->shippingMethodProvider->getShippingMethodCostsCollection($product); $productAttributes = $product->getAttributes(); $groups = $this->productAttributeHelper->getAttributeGroups($productAttributes); $attributes = $this->productAttributeHelper->getAttributes($productAttributes); return ['product' => $product, 'shippingCosts' => $shippingMethodCosts, 'attributeGroups' => $groups, 'attributes' => json_encode($attributes)]; }
/** * Adds shipping method options to select * * @param RadioGroup $radioGroup * @param CartInterface $cart */ protected function addShippingOptions(RadioGroup $radioGroup, CartInterface $cart) { $collection = $this->shippingMethodProvider->getShippingMethodCostsCollection($cart); $collection->map(function (ShippingMethodCostInterface $shippingMethodCost) use($radioGroup) { $shippingMethod = $shippingMethodCost->getShippingMethod(); $baseCurrency = $shippingMethod->getCurrency()->getCode(); $grossAmount = $shippingMethodCost->getCost()->getGrossAmount(); $label = ['name' => $shippingMethod->translate()->getName(), 'comment' => $this->getCurrencyHelper()->convertAndFormat($grossAmount, $baseCurrency)]; $radioGroup->addOptionToSelect($shippingMethodCost->getId(), $label); }); }
protected function getShippingMethodCostCollection(CartInterface $cart) { return $this->shippingMethodProvider->getShippingMethodCostsCollection($cart); }