Plugin.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\ConfigurableProduct\Helper\Product\Configuration;
  8. class Plugin
  9. {
  10. /**
  11. * Retrieve configuration options for configurable product
  12. *
  13. * @param \Magento\Catalog\Helper\Product\Configuration $subject
  14. * @param callable $proceed
  15. * @param \Magento\Catalog\Model\Product\Configuration\Item\ItemInterface $item
  16. *
  17. * @return array
  18. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  19. */
  20. public function aroundGetOptions(
  21. \Magento\Catalog\Helper\Product\Configuration $subject,
  22. \Closure $proceed,
  23. \Magento\Catalog\Model\Product\Configuration\Item\ItemInterface $item
  24. ) {
  25. $product = $item->getProduct();
  26. $typeId = $product->getTypeId();
  27. if ($typeId == \Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE) {
  28. $attributes = $product->getTypeInstance()->getSelectedAttributesInfo($product);
  29. return array_merge($attributes, $proceed($item));
  30. }
  31. return $proceed($item);
  32. }
  33. }