这是一个奇怪的错误,阻止客户更改其篮子中的数量。
OpenCart将选定的产品数据保存在购物车数组中,如:
[product_id:base64(serialized(option_data))]
网站本身有一个使用jQuery插件Fancy Product Designer的自定义产品构建器,产品数据存储在选项字段中。
在购物车页面上,客户必须选择删除或更改购物篮中的数量。 OpenCart中此页面的默认功能使用表单调整所有数量,并使用链接从购物车中删除带有查询字符串的产品。
使用数量字段数组调整数量,例如
[quantity] => Array (
[product_id:option_data] => quantity
[391:YToxOntpOjg3NTtzOjQ6IjI4MjIiO30=:] => 2
)
但是,当期权数据特别大时,该单个项目不再位于数量数组中,并显示为:
[quantity_319:YToyOntpOjEyMTc7czo1ODcyOiJZVG94T250cE9qQTdZVG96T250ek9qVTZJb...]
以及其他2个字段显示在帖子请求中:
[x] => 6
[y] => 15
其他项目在[quantity]数组中显示为正常。
任何想法导致了什么?
(通常它们会在get请求中从购物车中删除,例如/ cart?remove = 391:YToxOntpOjg3NTtzOjQ6IjI4MjIiO30 =:但是获取请求太长,所以我添加了一个基于该链接创建表单并提交它的函数。这适用于大型物品)