Magento 1.6 商店有问题。当我的愿望清单中有一个可配置的产品并且我选择编辑该单个项目时,它会将我带到该产品页面的愿望清单版本,一切都很好。

我更改产品选项并选择更新愿望清单按钮。此时,我返回到愿望清单索引页面,我可以看到所有可配置选项均未更新!

我将此问题归结为 Mage Core Wishlist indexController 的问题。在第 267 行左右,您有以下代码:

        $productId = (int) $this->getRequest()->getParam('product');
    if (!$productId) {
        $this->_redirect('*/');
        return;
    }

很简单,它从 url 中获取产品参数。但 if 语句将我重定向回愿望清单页面,因为网址中没有参数“产品”,因此此操作总是失败。不过我确实看到 url 中有一个 ID 参数,这似乎是

这是 magento 中的已知错误吗?或者有人遇到过吗?

如果是这样你是怎么解决的?

谢谢

编辑

我使用 Core/Url 帮助程序手动向 url 添加了一个额外参数,效果很好。但我还是想知道这里发生了什么

有帮助吗?

解决方案

当您从愿望清单页面执行更新选项操作时,Magento 处理该时间的方法将是 updateItemOptionsAction(). 。所以我假设您处于正确的位置。但是当我们看一下该方法时,似乎几乎所有条件都使用相同的 url 重定向。IE

 $this->_redirect('*/');

因此,确保您处于上述 if 条件本身非常重要。

现在,当您执行以下操作时,传递给的参数 updateItemOptionsAction()

<?php /*   DEMO VALUES  */  ?>
Array
(
    [id] => 2
    [form_key] => uuWSJ3zV5nCsu7lp
    [product] => 119
    [related_product] => 
    [super_attribute] => Array
        (
            [525] => 99
        )

    [qty] => 2
)

看看 product 范围。它确实存在。很明显, 这根本不是一个错误。

如果您确信这是这里失败的条件,那么这意味着它不会返回产品 ID。Magento 使用隐藏字段来存储表单中的产品 id 值。在愿望清单中,magento 使用与产品视图页面相同的形式。所以保存表单的模板位于此处

app\design\frontend\<package>\<theme>\template\catalog\product\view.phtml

所以这里发生错误的情况很少见。但是,您需要使用此信息进行更多挖掘。基本上你需要找到, 为什么表单中没有设置产品 ID。

因此,请检查在您从愿望清单进行编辑时生成的表单。检查产品 ID 是否设置正确。

许可以下: CC-BY-SA归因
scroll top