Magento 2는 장바구니에 항목 병합 비활성화
Aug 21 2020
안녕하세요 고객이 동일한 상품을 별도의 라인으로 장바구니에 추가하고 싶습니다. 나는 그것들이 함께 병합되어 한 줄로 병합되는 것을 원하지 않습니다. 어쨌든 이것을 할 수 있습니까? 사람들이 Magento 1을 요청하는 것을 보았습니다. Magento 2에 대한 해결책이 있습니까? 감사
답변
2 PratikOza Aug 20 2020 at 23:31
옵션 1:
app / code / VendorName / ModuleName / etc / module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="1.0.0">
<sequence>
<module name="Magento_Quote" />
</sequence>
</module>
</config>
app / code / VendorName / ModuleName / etc / di.xml
<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Quote\Model\Quote\Item">
<plugin name="VendorName_ModuleName_Magento_Quote_Model_Quote_Item" sortOrder="10" type="VendorName\ModuleName\Plugin\Magento\Quote\Model\Quote\Item"/>
</type>
</config>
app / code / VendorName / ModuleName / Plugin / Magento / Quote / Model / Quote / Item.php
<?php
namespace VendorName\ModuleName\Plugin\Magento\Quote\Model\Quote;
class Item
{
public function aroundRepresentProduct(
\Magento\Quote\Model\Quote\Item $subject, \Closure $proceed,
$product
) {
return false;
}
}
옵션 2 :
app / code / VendorName / ModuleName / etc / module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="1.0.0">
<sequence>
<module name="Magento_Quote" />
</sequence>
</module>
</config>
app / code / VendorName / ModuleName / etc / di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Quote\Model\Quote\Item" type="VendorName\ModuleName\Model\Quote\Item" />
</config>
app / code / VendorName / ModuleName / Model / Quote / Item.php
<?php
namespace VendorName\ModuleName\Model\Quote;
class Item extends \Magento\Quote\Model\Quote\Item
{
/**
* Check product representation in item
*
* @param \Magento\Catalog\Model\Product $product
* @return bool
*/
public function representProduct($product)
{
return false;
}
}