Commerce Engineの拡張
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Commerce Engineは、コマース機能の広範なカスタマイズを可能にするプラグイン フレームワークを使用して、コマース機能を実装および提供します。プラグインモデルは、アップグレード可能性と拡張性を促進し、個々の拡張機能間で懸念事項を明確に分離するコンポジションプログラミングの原則に基づいて構築されています。
プラグインは、Commerce Engineの機能をカスタマイズしてeコマース ソリューションのニーズを満たすための主要な手段です。デフォルトのCommerce Engineプラグインは変更しません。代わりに、独自のカスタムコマースプラグインを作成して、次のことを行います。
-
既存の機能を拡張または変更する
-
新しい機能を追加
-
不要な機能を削除する
Sitecore XCとブラウザー、オペレーティング システム、.NETフレームワーク、およびデータベース サーバーとの互換性については、Sitecoreの互換性表を参照してください。
カスタムプラグインを作成するためのベストプラクティス
以下は、Commerce Engineのカスタム機能を開発する際に考慮すべき推奨事項とガイドラインです。
-
原則として、デフォルトのプラグインが貢献する基本クラスからの継承は避けるべきです。代わりに、コンポジション プログラミング アプローチを使用してください。
-
独自のプラグインを作成して、カスタムのeコマース機能と動作を実装します。デフォルトのCommerce Engineプラグインのソースコードは絶対に変更しないでください。デフォルトのSitecore XCプラグインのソースコードを変更すると、新しいバージョンのSitecore XCへのアップグレードに影響が及ぶ可能性があり、Commerceソリューションが不安定になったり、誤動作したりする可能性があります。
-
コマース エンティティは、同じ種類の複数のコンポーネントを持つことはできません。既存のコマースエンティティにカスタムコンポーネントを提供するプラグインを作成する場合は、そのコマースエンティティに同じコンポーネントがまだ存在しないことを確認する必要があります。たとえば、Carts.csエンティティ (デフォルトSitecore.Commerce.Plugin.Cartsの一部) にはCartLineComponentが含まれています。したがって、カスタムプラグインにはtypeのコンポーネントを含めないでください。 CartLineComponent.
プラグインの入手
公式にリリースされ、サポートされているバージョンのCommerce Engineプラグインは、Sitecore Commerceの公式公開NuGetフィードから入手できます。これにより、メジャーリリースのオーバーヘッドなしに、コマースプラグインの新しいバージョンを公開できます。
Sitecoreパートナーは、カスタム開発の一部としてプラグインを提供することもできます。
Commerce Engineを拡張するためのワークフロー
Commerce Engineを拡張するには、Customer.Sample.SolutionSitecore Commerce Engine SDKを使用します。このSDKには .Customer.Sample.SolutionはVisual Studioで開くことができます。SDKには、Commerce Engineプロジェクト自体と、ソリューションの一般的な拡張機能を示すいくつかのサンプル プラグインが含まれています。
大まかに言うと、Sitecore XCソリューションを拡張すると、次のことが可能になります。
-
Customer.Sample.Solutionを開きます。
-
ソリューションの名前を、ニーズにより適したものに変更します。
-
ソリューションをリビルドして、初期ソリューションが実行されることを確認します。
-
Postmanサンプルまたはサンプルのコンソール アプリを使用して、ソリューションを実行します。
-
ソリューションを拡張するには、懸念事項を強力に分離して、ソリューション内の個別のプロジェクトとして追加のプラグインを作成します。
-
単体テストと機能テストを組み合わせてプラグインをテストします。
-
ソリューションが要件を満たしたら、ソリューションの新しいデプロイを作成します。
-
新しいデプロイを任意のQAまたはDevOpsプロセスを通じて送信し、本番環境にデプロイします。