我想添加一个外部脚本,通过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后,错误消息在重新登录后再次运行。
答案 0 :(得分:0)
什么不起作用?
您注销并登录然后脚本停止工作?那么会话没有找到?该产品没有找到?产品没有加载?用户未转发? : - )
当然没有。消息是一个通知。如果显示一次,则会被删除。
你想要什么行为?
答案 1 :(得分:0)
使用Mage::getSingleton('core/session')->addError("Product not found!");
,也许结帐/会话是用户特定的......
欢呼声