ether/purchase-patterns

轻松跟踪并展示客户一起购买的产品。此外,还可以按个人和订单销售额排序。

安装数: 3,347

依赖项: 0

建议者: 0

安全性: 0

星级: 3

关注者: 5

分支: 1

公开问题: 2

类型:craft-plugin

1.1.5 2020-03-18 14:01 UTC

This package is auto-updated.

Last update: 2024-09-18 23:51:46 UTC


README

Purchase Patterns

购买模式

轻松跟踪并展示客户一起购买的产品。此外,还可以按个人和订单销售额排序。

需求

此插件需要Craft CMS 3.0.0或更高版本,以及Craft Commerce 2.0.0-beta.2或更高版本。

安装

通过插件商店购买。

使用方法

在您的模板中使用 craft.purchasePatterns.related 函数来获取客户也购买的相关产品。

ProductQueryExtended related ( Product|Order $target [, int $limit = 8 [, ProductQuery $paddingQuery = null [, array $filter = [] ] ] ] )

该函数返回一个 ProductQueryExtended,因此您可以按需包含额外的查询参数。已设置 id 参数,不应覆盖。

{% set customersAlsoBought = craft.purchasePatterns.related(
    product,
    10
).fixedOrder(true).all() %}

fixedOrder 设置为 true 将按购买一起的次数对产品进行排序。

paddingQuery 允许您指定一个 ProductQuery,当相关结果低于给定 limit 时,将使用此查询进行填充。此查询不应包含如 orderlimit 或执行命令如 all 之类的项目。

{% set customersAlsoBought = craft.purchasePatterns.related(
    order,
    20,
    craft.products.relatedTo(product.myCategory)
).orderBy('random()').all() %}

编辑备注: random() 是Postgres特定的。对于MySQL,请使用 RAND()

filter 期望一个属性数组,这些属性将用于过滤最终结果。您可以使用此功能确保查询始终返回预期的结果数量。您可以传递任何您原本要在外部查询中包含的属性。

{% set customersAlsoBought = craft.purchasePatterns.related(
    order,
    20,
    craft.products.relatedTo(product.myCategory),
    { availableForPurchase: 1 }
).all() %}

有关过滤器功能的更多信息(由 jmauzyk 添加),请参阅 #3

扩展产品查询

扩展产品查询允许您按 qtyCountorderCount 对产品进行排序。它扩展了基本产品查询,因此您可以像使用 craft.products 一样使用它。上面的 related 查询返回一个扩展查询,同样

{% set products = craft.purchasePatterns.extended().orderBy('orderCount DESC').all() %}