2

我正在更新数据馈送导出,它将产品链接到给定的类别。我还想在该类别中包含该产品的销售位置,该类别当前存在于 Business Manger 中,用于控制产品列表页面上的排序:

Business Manger 突出显示有问题的字段的屏幕截图

我正在挖掘 API 文档,以及在dw.catalog.CategoryAssignment中公开此信息的逻辑位置,但它不存在。我目前基本上是通过这样做来推断位置:

// assume var product, category
var position = category.products.firstIndex(p => p.ID == product.ID);

但是,这告诉我产品被排序到哪里,而不是Demandware 中的实际位置值。它现在作为一种权宜之计起作用,但我真的想用从 DW 中提取实际价值的东西来替换它。

我可以在 Commerce Cloud API 的哪个位置找到给定类别中给定产品的销售位置?

4

2 回答 2

0

我认为您不会得到产品索引的实际位置,因为您可能有多个排序规则来在类别列表页面上显示不同的输出。这些排序规则可以根据某些规则在需要时创建。我认为这不能反映在产品提要上。

于 2017-07-25T10:14:46.553 回答
0

进行了一些挖掘,但我设法发现 BM 中产品的“位置”字段存储为 Product.searchPlacement。要找到它,您必须查看 Category.products,找到您想要的产品,然后获取该产品的 searchPlacement 属性。

实际上,我使用了:

// assume var product, category
var position = category.products.find(p => p.ID == product.ID).searchPlacement;

对于没有在业务管理器中分配职位的产品,searchPlacement 为 0。否则,它反映在 BM 中输入的值。

于 2017-07-25T20:56:43.203 回答