Magento 2: Как скрыть поле количества для определенных продуктов, в котором есть только количество?
У меня есть определенные продукты, которые клиенты могут купить только один.
Так нужно ли удалить поле кол-во только для этих продуктов или можно управлять из настроек?
3
2 answers
В Admin есть конфигурация: Войдите в систему Администратора > ПРОДУКТЫ > Каталог> выберите продукт >Расширенный инвентарь> Максимальное количество, разрешенное в корзине покупок> установите значение 1.
Перезаписать, как показано ниже
Magento\app\design\frontend\Vendor\YourThemeName\Magento_Catalog\templates\product\view\addtocart.phtml
Заменить
if ($block->shouldRenderQuantity())
С
if ($block->shouldRenderQuantity() && ($_product->getExtensionAttributes()->getStockItem()->getMaxSaleQty() != 1)):
Вам нужно добавить
$_product->getExtensionAttributes()->getStockItem()->getMaxSaleQty()
5
Author: Khoa TruongDinh, 2017-01-17 10:26:35
Создайте плагин after для shouldRenderQuantity. В вашем di.xml, добавьте это.
<type name="Magento\Catalog\Block\Product\View">
<plugin name="Vendor_Module::configurable-no-render-quantity-field" type="Vendor\Module\Plugin\Block\Product\View" />
</type>
Затем в своем плагине сделайте что-то вроде этого:
public function afterShouldRenderQuantity(\Magento\Catalog\Block\Product\View $subject, $result)
{
if ($subject->getProduct()->getTypeId() === \Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE) {
return false;
}
return $result;
}
Измените условие if в моем примере, чтобы достичь желаемого.
0
Author: phagento, 2020-09-12 16:04:32