PriceBackend.php 1016 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\ConfigurableProduct\Model\Plugin;
  7. use Magento\ConfigurableProduct\Model\Product\Type\Configurable;
  8. /**
  9. * Class PriceBackend
  10. *
  11. * Make price validation optional for configurable product
  12. */
  13. class PriceBackend
  14. {
  15. /**
  16. * @param \Magento\Catalog\Model\Product\Attribute\Backend\Price $subject
  17. * @param \Closure $proceed
  18. * @param \Magento\Catalog\Model\Product|\Magento\Framework\DataObject $object
  19. * @return bool
  20. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  21. */
  22. public function aroundValidate(
  23. \Magento\Catalog\Model\Product\Attribute\Backend\Price $subject,
  24. \Closure $proceed,
  25. $object
  26. ) {
  27. if ($object instanceof \Magento\Catalog\Model\Product
  28. && $object->getTypeId() == Configurable::TYPE_CODE
  29. ) {
  30. return true;
  31. } else {
  32. return $proceed($object);
  33. }
  34. }
  35. }