2017-07-20 16 views
2

データフィードを更新しています。これは、商品を特定のカテゴリにリンクします。私はまた、現在、ビジネスマネージャに存在し、そのカテゴリ内でその製品のマーチャンダイジングの位置を含めると、製品リストページに並べ替え制御するために使用されます。Demandware:製品のカテゴリーの位置を見つける?

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では、指定されたカテゴリの特定の製品のマーチャンダイジングポジションを見つけることができますか?

答えて

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に入力された値を反映しています。

0

カテゴリ一覧ページに異なる出力を表示するために複数の並べ替え規則がある場合は、商品インデックスの実際の位置を取得しません。これらのソートルールは、特定のルールに基づいて必要なときに作成することができます。これは商品フィードには反映されないと思います。

関連する問題