首页 > 解决方案 > Magento 2 网站在加载时切换到默认颜色

问题描述

我的网站从 Magento 1 切换到 Magento 2 并且存在一个主要问题,即当我打开带有属性 ID 的可配置产品的 URL 时,它跳转到默认颜色选择。

例如:当我像这样在浏览器中点击 URL 时,我为产品 A 选择了蓝色abc.com/mountain-bike-gloves.html#137=120&133=17。加载后我的页面跳转到默认颜色,而不是显示为选中的蓝色。

标签: magentomagento2magento-2.3magento2.2magento2.1

解决方案


首先检查下的configurable.js

供应商/magento/module-configurable-product/view/frontend/web/js/configurable.js

我们可以在第 59 行看到一条评论说

// 使用 URL 查询参数和/或输入值覆盖默认值

通过函数 _overrideDefaults。所以下一步将是找到选项字段的 id / value 并将它们添加到 url。我们可以通过检查前端的输入元素找到要设置的选项 id 和值来轻松做到这一点。检查以下产品http://demo.magevision.com/hero-hoodie.html上的灰色选项的 div 元素,我们将看到我们需要的信息。aria- describeby="option-label-color-90" 和 option-id ="52",表示属性 color 的 id 是 90,选项 gray 的 id 是 52。通过将这些值作为参数添加到我们将在预选此选项的情况下登陆产品页面的 url。URL 看起来像

http://demo.magevision.com/hero-hoodie.html#90=52

有关更多信息,请查看以下 URL: https ://www.magevision.com/blog/post/select-default-options-of-configurable-product-by-url-query-magento-2/


推荐阅读