Demandware:查找产品的类别位置?

时间:2017-07-20 22:00:26

标签: demandware

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

Screenshot of Business Manger highlighting field in question

我正在深入研究API文档,以及在 dw.catalog.CategoryAssignment 中公开此信息的合理位置,但它并不存在。我目前通过基本上这样做来推断这个位置:

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

但是,这告诉我产品在哪里排序,在Demandware中实际位置值是什么。它现在作为一个权宜之计,但我真的想用一些从DW中获取实际值的东西替换它。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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中输入的值。