2016-09-28 1 views
1

Мне нужно удалитьпростой продукт из корзины. ОпцияКак удалить простую корзину продуктов в пурпуре 2.1

Удалить элемент, доступная только для конфигурируемого продукта

<a href="#" 
    title="<?php echo $block->escapeHtml(__('Remove item')); ?>" 
    class="action action-delete btn-remove btn-remove2 remove-btn" 
    data-post='<?php /* @escapeNotVerified */ echo $block->getDeletePostJson(); ?>'> 
    <i class="fa fa-times-circle" aria-hidden="true"></i> 
    <?php /* <span> 
     <?php /* @escapeNotVerified */echo __('Remove item')?> 
    </span> */ ?> 
</a> 

Приведенных выше кода работает для конфигурируемого продукта

  1. Как удалить простой продукт из корзины?
+0

это будет работать? https://magento.stackexchange.com/questions/141314/remove-items-from-cart-in-controller-magento2 – Joey

ответ

0

Чтобы удалить элементы из корзины, нужно выполнить следующие функции:

public function deleteQuoteItems(){ 
    $checkoutSession = $this->getCheckoutSession(); 
    $allItems = $checkoutSession->getQuote()->getAllVisibleItems();//returns all teh items in session 
    foreach ($allItems as $item) { 
    $itemId = $item->getItemId();//item id of particular item 
    $quoteItem=$this->getItemModel()->load($itemId);//load particular item which you want to delete by his item id 
    $quoteItem->delete();//deletes the item 
    } 
    } 
    public function getCheckoutSession(){ 
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();//instance of object manager 
    $checkoutSession = $objectManager->get('Magento\Checkout\Model\Session');//checkout session 
    return $checkoutSession; 
    } 

    public function getItemModel(){ 
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();//instance of object manager 
    $itemModel = $objectManager->create('Magento\Quote\Model\Quote\Item');//Quote item model to load quote item 
    return $itemModel; 
    }