2015-09-02 4 views
0

Я пытаюсь создать сценарий ajax для добавления настраиваемых элементов в корзину пользователя. Скрипт ниже.Magento Programmatic Добавить в корзину Вопрос сессии

require_once('app/Mage.php'); 
umask(0); 
Mage::app(); 

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

$json = json_decode($_POST['json'],true); 

$session = Mage::getSingleton('core/session', array('name'=>'frontend')); 

if ($_POST['form_key'] == $session->getFormKey()) { 
    $cart = Mage::getSingleton('checkout/cart')->init(); 
    $_product = Mage::getModel('catalog/product')->load($json['product']); 
    $cart->addProduct($_product,$json)->save(); 
    $session->setCartWasUpdated(true); 
    echo $cart->getItemsQty(); 
} else { 
    echo "Access Denied"; 
} 

Этот скрипт получает следующее через POST.

"json" = "{"super_attribute": {"76":"10","576":"82"},"qty":"1","product":"532"}" 
"form_key" = "**form_key**" 

Он добавляет товар в корзину и выводит обновленное количество точно так, как ожидалось.

Моя проблема заключается в том, что пользовательская телеграмма пользователя никогда не обновляется. Несмотря на то, что GetItemsQty выводит увеличенный номер, ссылка «Моя корзина» в интерфейсе всегда пуста.

Я даже проверил, что идентификатор $ session совпадает с сеансом браузера.

+0

См ответ ниже – theunknown

ответ

0

Для дальнейшего использования, эта линия

Mage::app();  

необходимо включить следующие

Mage::app(5)->loadArea('frontend'); 

'5' будет идентификатор магазина

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