3

我有几个可配置的产品(有许多与之相关的简单产品)。

通过分层导航浏览超级属性时,您可以过滤到(例如)尺寸=中、颜色=红色的所有产品。

我已将我的简单产品设置为不可见并显示我的可配置产品,但是,当您选择可配置产品时,产品选项不会默认为分层导航中过滤的内容。

有没有办法在产品页面上预先选择相关的产品选项?

假设用户从列表页面中选择了过滤器 size ="medium" color ="red"

现在,当用户在应用过滤器后从列表页面中选择可配置产品时,必须在产品详细信息页面上预先选择相应的值。

4

1 回答 1

1

没有现成的方法可以做到这一点。当对产品提出请求时,该产品对分层导航状态一无所知。理论上,您可以添加一些服务器端代码来执行此操作,但这可能会降低性能,因为您可能无法有效地使用缓存。

你可以在前端用 javascript 做一些事情。将事件侦听器添加到过滤导航中的链接并将对象存储在本地存储中,例如大小和颜色。

在产品页面上,您可以通过等待构建可配置产品选项来根据这些值设置可配置产品,然后从本地存储加载选项对象,然后相应地更新可配置产品。然后您需要触发事件,以便产品页面知道已选择选项并可以执行相应更新价格等操作。

Magento 内部使用具有数字 id 的属性选项值。使用这些可能有点复杂,因此您可能需要输入一些逻辑来读取标签,例如“红色”而不是“461”。

没有使用本地存储的原型特定方式,并且您不需要一些 jquery 层,在存储/检索您的大小/颜色对象时,普通的 javascript 就足够了。

我发现以下文章是使用可配置产品下拉菜单做事所需的先机:

http://inhoo.net/ecommerce/magento/how-to-make-configurable-options-autoselected-on-configurable-product-view-page/

于 2014-04-28T08:58:11.980 回答