PS 1.7.5 在product.tpl中,可以将产品及其组合添加到购物车中。在此表单中,我使用手风琴显示和隐藏自定义的每个步骤(颜色,大小和其他自定义)。问题在于所有输入都不会保持选中状态,会有一个迷你刷新,并且它变为空。我点击例如。颜色,点击后立即取消选择,其他情况也一样。 我必须编辑core.js才能得到以下结果: 对于表单内的输入>不刷新,输入将保持选中状态,但是产品图像必须根据表单中选择的组合进行更改。 核心线233:
("body").on("change touchspin.on.startspin",".product-variants *[name]",function(e){i.default.emit("updateProduct",{eventType:"updatedProductCombination",event:e,resp:{},reason:{productUrl:i.default.urls.pages.product||""}})}),(0,r.default)("body").on("click",".product-refresh",function(e,t){e.preventDefault();var n="updatedProductCombination";void 0!==t&&t.eventType&&(n=t.eventType),i.default.emit("updateProduct",{eventType:n,event:e,resp:{},reason:{productUrl:i.default.urls.pages.product||""}})}),i.default.on("updateProduct",function(e){var t=e.eventType,n=e.event;(function(){var e=r.default.Deferred(),t=(0,r.default)(".product-actions"),n=(0,r.default)("#quantity_wanted");if(null!==i.default&&null!==i.default.urls&&null!==i.default.urls.pages&&""!==i.default.urls.pages.product&&null!==i.default.urls.pages.product)return e.resolve(i.default.urls.pages.product),e.promise();var o={};return(0,r.default)(t.find("form:first").serializeArray()).each(function(e,t){o[t.name]=t.value}),r.default.ajax({url:t.find("form:first").attr("action"),method:"POST",data:Object.assign({ajax:1,action:"productrefresh",quantity_wanted:n.val()},o),dataType:"json",success:function(t){var n=t.productUrl;i.default.page.canonical=n,e.resolve(n)},error:function(t,n,r){e.reject({jqXHR:t,textStatus:n,errorThrown:r})}}),e.promise()})().done(function(e){return l(n,t,e)}).fail(function(){0===(0,r.default)("section#main > .ajax-error").length&&d((0,r.default)("#product-availability"),"An error occurred while processing your request")})}),i.default.on("updatedProduct",function(e){if(e.product_url&&e.id_product_attribute&&!(0,r.default)
如果我删除了此行,则输入保持选中状态,但是产品图像没有刷新,因此也没有更新。 还是有一种解决方案可以使输入保持选中状态,即使是全新输入?我要更改core.js的这一行还是有其他解决方案? data-product-attribute>操作:“ norefresh”或类似的内容...
感谢谁能帮助我!