与大多数与Magento相关的问题一样,为了找到解决方案,通常需要将头撞到墙上。但这次没什么。
对于已注销并尝试将商品添加到空购物车的客户,我遇到了一个奇怪的问题。它不适用于某些特定的产品类型。
我扩展了购物车控制器以增加对用户输入值的支持,而不是标准的Magento下拉方法。这意味着用户可能会输入一个尚未存在的数字作为我可配置的关联产品(参见下图)。
因此,我已经实施了一个系统,如果产品不存在则会创建该产品,然后将其添加到购物篮中。这对于登录用户来说非常有效(甚至可以用篮子中的现有项目注销用户)。但是,如果已注销的用户有空车,尽管它添加了成功消息,但它无法正常工作。
我最初的想法是,这是一个与会话相关的问题,因为没有帐户的用户无法访问数据库,也因为一旦注销用户在购物篮中存在商品,它就会随机开始工作。
我尝试刷新会话,初始化购物车,添加两次以获得良好的衡量标准,但仍然没有。对此的任何帮助将不胜感激。
非常感谢提前。
答案 0 :(得分:0)
感谢Bezzie原来这是一个仿真问题。我从来不知道存在这样的事情。每当您需要在管理员之外执行管理功能时,您必须将当前存储设置为“admin”。由于这个原因,在Magneto 1.5中引入了仿真。 Source here.
$appEmulation = Mage::getSingleton('core/app_emulation');
//Start environment emulation of the specified store
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation(Mage_Core_Model_App::ADMIN_STORE_ID);
/*
* Any code thrown here will be executed as we are currently running that store
* with applied locale, design and similar
*/
//Stop environment emulation and restore original store
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
当你看到它时,这似乎是显而易见的,但是想出这个就疯了!谢谢Bezzie