Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento AJAX购物车数量更新。购物车中没有物品_Php_Jquery_Ajax_Magento - Fatal编程技术网

Php Magento AJAX购物车数量更新。购物车中没有物品

Php Magento AJAX购物车数量更新。购物车中没有物品,php,jquery,ajax,magento,Php,Jquery,Ajax,Magento,我正在尝试使用通过AJAX调用访问的PHP脚本更新位于标题中的Magento“mini cart” 购物车具有“递增”和“递减”按钮。单击后,将运行PHP脚本,并保存和更新购物车中特定产品的数量 现在的问题是,当我运行这个PHP脚本时,购物车中似乎没有任何项目。我在主页上和脚本运行时都查看了会话ID,它们看起来都不一样。这就是为什么我认为脚本似乎认为我的购物车中没有任何物品 我相信我为获取会话ID和购物车项目而编写的代码是正确的。有人知道我可能做错了什么吗 代码如下所示。我知道这可能写得更好,但

我正在尝试使用通过AJAX调用访问的PHP脚本更新位于标题中的Magento“mini cart”

购物车具有“递增”和“递减”按钮。单击后,将运行PHP脚本,并保存和更新购物车中特定产品的数量

现在的问题是,当我运行这个PHP脚本时,购物车中似乎没有任何项目。我在主页上和脚本运行时都查看了会话ID,它们看起来都不一样。这就是为什么我认为脚本似乎认为我的购物车中没有任何物品

我相信我为获取会话ID和购物车项目而编写的代码是正确的。有人知道我可能做错了什么吗

代码如下所示。我知道这可能写得更好,但现在我只想看到一些有用的东西

header.phtml中的HTML(这是在循环中获取篮子中的所有项目-在这里工作正常):

PHP:

require_once  $_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php';

Mage::app();

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

// Check for a product id
if(isset($_REQUEST['productId']))
{

    // Product ID and Quantity
    $pid = $_REQUEST['productId'];
    $qnt = $_REQUEST['qty'];

    $cart = Mage::getSingleton('checkout/cart');
    $items = $cart->getItems(); 

    foreach ($items as $item) :
        if($pid == $item->getId()) :
            echo $item->getQty();
            $item->setQty($qnt); 
            $cart->save();
        endif;
    endforeach;     
};

您使用两个参数(即product id和qty)调用ajax update函数,并使用一个名为productid的参数调用名为update的递增和递减按钮上的函数

您可以做一件事。更改ajax更新函数参数。仅使用一个名为product id的参数

function updateCart(productId, qty) {
            qty = jQuery('#quantity').val()
            jQuery.ajax({
                type: "POST",
                dataType: "HTML",
                data: { productId : productId, qty : qty },
                url: "scripts/get_cart_script.php?productId=" + productId + "&qty=" + qty,
                success: function (data) {
                    alert("Success");

                },
                error: function(data){
                    alert("Failure");
                }
            });
        }
require_once  $_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php';

Mage::app();

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

// Check for a product id
if(isset($_REQUEST['productId']))
{

    // Product ID and Quantity
    $pid = $_REQUEST['productId'];
    $qnt = $_REQUEST['qty'];

    $cart = Mage::getSingleton('checkout/cart');
    $items = $cart->getItems(); 

    foreach ($items as $item) :
        if($pid == $item->getId()) :
            echo $item->getQty();
            $item->setQty($qnt); 
            $cart->save();
        endif;
    endforeach;     
};