2015-04-21 3 views
0

Я сталкиваюсь с проблемой в magento. При добавлении продуктов в корзину он успешно добавляет один элемент, но когда я пытаюсь добавить другой элемент, он удаляет предыдущий элемент и добавляет новый элемент. Это связано с тем, что идентификатор котировки изменяется каждый раз, с закрытием браузера или чем-либо еще.Magento в корзину вопрос

Любая идея, как решить эту проблему?

+0

Вы проверили разрешение на папку var/session? – sergio

+0

yes Я попытался установить 777 как в var, так и в var/session, но не повезло. – Tariq

+0

Там много случаев, поэтому нужно проверить все расширения, попробуйте отключить их один за другим и проверить, также проверьте время жизни cookie, установленное администратором – sergio

ответ

0

вы можете отлаживать в этой функции

приложение \ код \ ядро ​​\ Mage \ Checkout \ Model \ Cart.php

и найти эту функцию

public function save() 
{ 
    Mage::dispatchEvent('checkout_cart_save_before', array('cart'=>$this)); 

    $this->getQuote()->getBillingAddress(); 
    $this->getQuote()->getShippingAddress()->setCollectShippingRates(true); 
    $this->getQuote()->collectTotals(); 
    $this->getQuote()->save(); 
    $this->getCheckoutSession()->setQuoteId($this->getQuote()->getId()); 
    /** 
    * Cart save usually called after changes with cart items. 
    */ 
    Mage::dispatchEvent('checkout_cart_save_after', array('cart'=>$this)); 
    return $this; 
} 

вы можете отлаживать здесь. Надеюсь, что это поможет вам.

Я имею редактировать этот код для заказа цена

 public function save() 
          { 
      Mage::dispatchEvent('checkout_cart_save_before', array('cart'=>$this)); 
     $this->getQuote()->getBillingAddress(); 
        $this->getQuote()->getShippingAddress()->setCollectShippingRates(true); 
        $this->getQuote()->collectTotals(); 

        // $this->getQuote()->save(); 
        if(isset($_POST['product'])) 
        $pid=$_POST['product']; 

        if(isset($_POST['npn'])) 
        $new_price=$_POST['npn']; 

        foreach($this->getQuote()->getAllItems() as $item) {  
         $productId = $item->getProductId();  
         $product = Mage::getModel('catalog/product')->load($productId); 
         if(isset($pid)) 
         { 
         if($productId==$pid) 
         { 
         if(isset($_POST['npn']) && $_POST['npn']!='') 
         { 
         $price = $_POST['npn']; 
         $item->setCustomPrice($price); 
         // we need this since Magento 1.4 
         $item->setOriginalCustomPrice($price); 
         } 
         } 
         } 
        } 
        $this->getQuote()->save(); 
        $this->getCheckoutSession()->setQuoteId($this->getQuote()->getId()); 
        /** 
        * Cart save usually called after changes with cart items. 
        */ 
        Mage::dispatchEvent('checkout_cart_save_after', array('cart'=>$this)); 
        return $this; 
       } 

надеюсь, что это поможет !!!

+0

echo ($ this-> getQuote() -> getId()); exit; увеличение значения на единицу, нажав кнопку «Добавить в корзину» – Tariq

+0

Как я могу настроить код id, который применяется на весь сайт? – Tariq

+0

echo ($ this-> getQuote() -> getId()); exit; увеличение значения на единицу, нажав кнопку добавления в корзину. Это означает, что сеанс re генерирует каждый раз .. любая идея, как остановить сеанс от восстановления – Tariq

Смежные вопросы