50 private $configuredPriceSelection;
67 JsonSerializer $serializer =
null,
72 ->get(JsonSerializer::class);
73 $this->configuredPriceSelection = $configuredPriceSelection
75 ->get(ConfiguredPriceSelection::class);
94 public function getOptions()
100 $bundleOptionsIds = [];
101 if ($this->item !==
null) {
103 $optionsQuoteItemOption = $this->item->getOptionByCode(
'bundle_option_ids');
104 if ($optionsQuoteItemOption && $optionsQuoteItemOption->getValue()) {
105 $bundleOptionsIds = $this->serializer->unserialize($optionsQuoteItemOption->getValue());
108 if ($bundleOptionsIds) {
112 $selectionsQuoteItemOption = $this->item->getOptionByCode(
'bundle_selection_ids');
113 $bundleSelectionIds = $this->serializer->unserialize($selectionsQuoteItemOption->getValue());
114 if ($bundleSelectionIds) {
116 $bundleOptions = $optionsCollection->appendSelections($selectionsCollection,
true);
131 $selectionPriceList = $this->configuredPriceSelection->getSelectionPriceList($this);
133 return $this->calculator->calculateBundleAmount(
149 return parent::getValue() +
151 ->getPrice(BundleDiscountPrice::PRICE_CODE)
152 ->calculateDiscount($configuredOptionsAmount);
154 return parent::getValue();