2017-09-12 4 views
2

Ich muss Warenkorb Produkte aus einer bestimmten Kategorie (Kategorie mit ID = 13) entfernen, wenn die Seite geladen wird, wenn ein Produkt aus dieser Kategorie in den Warenkorb hinzugefügt wird. Ich habe lange daran gearbeitet und recherchiert, aber ich habe nichts gefunden, was mir helfen könnte, das gewünschte Resultat zu erzielen. Vielen Dank im Voraus für Ihre Hilfe.Magento - Entfernen von Produkten aus dem Warenkorb

+0

Haben Sie einen Code versucht, den Sie hier teilen können? –

+0

@MahmoodRehman hätte ich nicht, weil ich nichts gefunden habe, was mir helfen könnte. –

Antwort

2

Sie können Ihre Anforderung mithilfe von Magento Observer-Ereignis, d. H. checkout_cart_save_before erreichen. Ich habe dies erreicht, indem ich folgendes Modul erstellt habe, das dem Benutzer nicht erlaubt, Produkt in den Warenkorb einer bestimmten Kategorie hinzuzufügen.

Sie benötigen ein Modul für diese erstellen:

  1. Modulregistrierungsdatei erstellen unter app/etc/modules/Tanymart_Removecart.xml mit folgendem Code:

    <?xml version="1.0"?> 
    <config> 
        <modules> 
         <Tanymart_Removecart> 
          <active>true</active> 
          <codePool>community</codePool> 
         </Tanymart_Removecart> 
        </modules> 
    </config> 
    
  2. Jetzt unter die Community Codepool, erstellen config.xml Datei. Dateipfad ist app/code/community/Tanymart/Removecart/etc/config.xml

    <?xml version="1.0"?> 
    <config> 
        <modules> 
         <Tanymart_Removecart> 
          <version>0.1.0</version> 
         </Tanymart_Removecart> 
        </modules> 
        <global> 
         <models> 
          <tanyremovecart> 
           <class>Tanymart_Removecart_Model</class> 
          </tanyremovecart> 
         </models> 
         <events> 
          <checkout_cart_save_before> 
           <observers> 
            <remove_category_item> 
             <class>Tanymart_Removecart_Model_Observer</class> 
             <method>removeCategoryCart</method> 
            </remove_category_item> 
           </observers> 
          </checkout_cart_save_before> 
         </events> 
        </global> 
        <frontend> 
         <routers> 
          <tanyremovecart> 
           <use>standard</use> 
           <args> 
            <module>Tanymart_Removecart</module> 
            <frontName>tanyremovecart</frontName> 
           </args> 
          </tanyremovecart> 
         </routers> 
         </frontend> 
    </config> 
    
  3. Jetzt Observer.php erstellen innerhalb Modell Verzeichnis. Dateipfad app/code/community/Tanymart/Removecart/Model/Observer.php mit folgendem Code:

    <?php 
    /** 
    * @category Tanymart 
    * @package  Tanymart_Removecart 
    * @author  Bachcha Singh 
    * @copyright Copyright (c) 2017 
    * @license  http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) 
    */ 
    class Tanymart_Removecart_Model_Observer { 
        public function removeCategoryCart($observer){ 
         $items = $observer->getEvent()->getCart()->getItems(); 
         $oCheckout = Mage::getSingleton('checkout/session'); 
         $oQuote = $oCheckout->getQuote(); 
         foreach($items as $item) { 
           $_product = $item->getProduct(); 
            if(in_array(13, $_product->getCategoryIds())) { 
              $itemId = $item->getItemId(); 
               $oQuote->removeItem($itemId)->save(); 
            } 
           } 
    
        } 
    } 
    

ersetzen oben mit Ihrer spezifischen Kategorie.

Das ist es. Hoffe, es wird dir helfen.

+0

Es hat funktioniert, danke für die Hilfe! –

Verwandte Themen