Magento外部脚本和会话

时间:2012-07-19 12:24:42

标签: session magento

我想添加一个外部脚本,通过GET获取sku检查ID,然后重定向到购物车,如果可用,否则它设置错误并重定向到购物车。 该脚本从产品页面调用:

 http://myhost/scripts/addto.php?sku=12345

这是完整代码

 <?php
    include_once '../../../../../app/Mage.php';
    Mage::app();
    $session = Mage::getSingleton('core/session', array('name' => 'frontend'));      
    $sku = $_GET['sku']; 
    if (!isset($_GET['qty'])) { $qty = '1'; } else { $qty = $_GET['qty']; }
    $id = Mage::getModel('catalog/product')->getIdBySku($sku);
    if ($id == '') {
        $id = $sku;
        Mage::getSingleton('checkout/session')->addError("Product not found!");
    }

工作正常,但在注销和重新登录后,错误消息丢失。我发现这是因为设置了一个cookie。删除该cookie后,错误消息在重新登录后再次运行。

2 个答案:

答案 0 :(得分:0)

什么不起作用?

您注销并登录然后脚本停止工作?那么会话没有找到?该产品没有找到?产品没有加载?用户未转发? : - )

当然没有。消息是一个通知。如果显示一次,则会被删除。

你想要什么行为?

答案 1 :(得分:0)

使用Mage::getSingleton('core/session')->addError("Product not found!");,也许结帐/会话是用户特定的......

欢呼声