問題タブ [sap-commerce-cloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
solr - ファセットが検索ページに表示されるが、Hybris のカテゴリ ページには表示されない
プロパティにインデックスを付け、それをファセットとして使用するために、次の impexes を作成しました。検索ページではファセットとして表示されますが、カテゴリ ページでは表示されません。誰か助けてくれませんか?
hybris - Java コードを使用して変更を行った場合、impex インポート後に変更が反映されない
Java コードを使用する impexes を作成しました。HACで実行しました。それらは正常にインポートされましたが、コードによって行われた変更が反映されていません。それらの変更を反映するために何をする必要があるか誰か教えてください。使用される impexes は次のとおりです。
上記の impex は HAC で正常にロードされますが、バックオフィスをチェックインすると、コードによる変更が見つかりません。
hybris - unique修飾子を使用せずに柔軟な検索でアイテムタイプのすべてのインスタンスを更新する方法は?
uid[unique=true]
項目タイプ (従業員など) のすべてのインスタンスを更新する必要がありますが、 ?を使用して各行を更新したくありません。
hybris - 単一ページのゲスト チェックアウトで「配信モードが設定されていません」と表示される
現在、Spartacus 3.2.2 と SAP Commerce 2011 と B2C アクセラレータを使用するプロジェクトに取り組んでいます。このプロジェクトは、従来のショッピング Web サイトには従いませんが、独自の目的のために Spartacus と SAP Commerce の機能を活用しています。Angular コンポーネントが読み込まれると、配送先住所、支払いの詳細、および配送モードがカートで設定される単一ページのゲスト チェックアウト フローがあります。
コンテキストは、ユーザーが電子メールなどの情報やその他の詳細を入力して [次へ] をクリックするフォームを持っていると仮定できるようにすることです。サンプル製品が追加されたカートが生成され、電子メールが関連付けられます。ユーザーは、送信したい情報を確認するページにリダイレクトされます。このページは、単一ページのゲスト チェックアウトです。このページが読み込まれると、支払いの詳細、配送先住所、配送モードが舞台裏で設定され、ユーザーは何も気付かない. 送信をクリックすると、バックグラウンドで注文が作成されます。フロントエンドは、確認ページに到達したときに別のユーザーを表示します。
問題は、ユーザーが情報を確認した後に送信すると、注文呼び出しが失敗し、「配信モードが設定されていません」というメッセージが表示され、矛盾していることです。
以下は、単一ページのゲスト チェックアウトに使用するサンプル コードです。
質問は次のとおりです。
一貫性がない場合、この「配信モードが設定されていません」の根本的な原因を見つけるにはどうすればよいでしょうか? より詳細な説明として、支払い、住所、配送モードの要求呼び出しは正しく行われていますが、要求が行われた後に最終的なカート オブジェクトが返されたときに、配送コストが設定されていないことがあります。
発生する可能性のある競合状態を排除するためにコードを最適化する方法はありますか? 支払いの詳細、住所、および配送モードを追加するすべての操作が同じカートに対して非同期に設定されていることを考慮してください。
どんな助けでも大歓迎です。最適化のアイデアも大歓迎です。
ありがとうございました
参考文献:
spartacus-storefront - PDP で追加の ProductWsDTO 属性を使用するには?
SAP Spartacus を使用すると、PDP 内で使用されるさまざまなコンポーネントをオーバーライドできます。例 : ProductSummaryComponent (cx-product-summary)。
これらは CMS コンポーネントであるため、ConfigModule を使用してオーバーライドするのは非常に簡単です。
私の質問は、コントローラーが返す可能性のある追加の属性をどのように使用できるかについてです。
例 - 属性「manufacturedYear」を ProductModel に追加し、それを bean xml を介して ProductData にも含めるとします。Data オブジェクトにあるので、ProductWsDTO に追加して DTO マッピングに追加すると、/product/{code} API 呼び出しで返されます。
UI には、次のような製品があります。
product$: Observable = this.currentProductService.getProduct();
したがって、「Product」は @spartacus/core の「product.model.ts」で利用可能なモデルです。実際の API 呼び出しを行う基礎となるサービスを使用して、新しい「manufacturedYear」を使用できるように、これをどのように拡張できますか?
モデルを拡張するだけで、基礎となるサービスを使用して API 呼び出しを行い、追加の属性を取得することを意図しています。
ご協力いただきありがとうございます