* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\Presenter\Product; use PrestaShop\PrestaShop\Core\Product\ProductPresentationSettings; class ProductListingLazyArray extends ProductLazyArray { /** * @arrayAccess * * @return string|null */ public function getAddToCartUrl() { if ($this->product['id_product_attribute'] != 0 && !$this->settings->allow_add_variant_to_cart_from_listing) { return null; } if ($this->product['customizable'] == 2 || !empty($this->product['customization_required'])) { return null; } return parent::getAddToCartUrl(); } /** * @param array $product * @param ProductPresentationSettings $settings * * @return bool */ protected function shouldEnableAddToCartButton(array $product, ProductPresentationSettings $settings) { if (isset($product['attributes']) && count($product['attributes']) > 0 && !$settings->allow_add_variant_to_cart_from_listing) { return false; } return parent::shouldEnableAddToCartButton($product, $settings); } }