priceUnitLabel = $priceUnitLabel; } /** * @inheritdoc */ public function getData( QuoteItem $cartItem, Option $option, SelectedOption $selectedOption ): array { /** @var SelectOptionType $optionTypeRenderer */ $optionTypeRenderer = $option->groupFactory($option->getType()) ->setOption($option) ->setConfigurationItemOption($selectedOption); $selectedValue = $selectedOption->getValue(); $optionValue = $option->getValueById($selectedValue); $optionPriceType = (string)$optionValue->getPriceType(); $priceValueUnits = $this->priceUnitLabel->getData($optionPriceType); $selectedOptionValueData = [ 'id' => $selectedOption->getId(), 'label' => $optionTypeRenderer->getFormattedOptionValue($selectedValue), 'value' => $selectedValue, 'price' => [ 'type' => strtoupper($optionPriceType), 'units' => $priceValueUnits, 'value' => $optionValue->getPrice(), ] ]; return [$selectedOptionValueData]; } }