Commerce Core
Drupal Commerceは、Drupal向けの柔軟なeコマースソリューションのリーダーであり、あらゆる規模の60,000以上のオンラインストアを支えています。
commerce
インストール
composer require 'drupal/commerce:^3.2'
概要
Drupal Commerceは、Drupal上に構築された包括的なエンタープライズグレードのeコマースフレームワークです。商品、注文、ショッピングカート、チェックアウトフロー、決済、プロモーション、税金、マルチストア構成をサポートする、オンラインストア構築のための完全なソリューションを提供します。
モジュラーアーキテクチャにより、サイトビルダーは必要なコンポーネントのみを有効にでき、開発者は決済ゲートウェイ、チェックアウトペイン、プロモーションオファー、税タイプなどをカバーする堅牢なプラグインシステムを通じて機能を拡張できます。システムはイベント駆動アーキテクチャを広範に使用しており、カスタマージャーニー全体を通じてモジュールがコマースイベントに反応できます。
主要なアーキテクチャ機能には、Entityベースのデータモデル(Product、Order、Store、Payment)、ワークフロー管理のためのState Machine統合、マルチ通貨サポート付きの価格フィールドタイプ、プラグインベースの拡張性、ダッシュボードメトリクスとアクティビティログを備えた包括的な管理UIが含まれます。
Features
- シンプルな商品から複雑な設定可能商品まで、あらゆる商品構造を処理するための設定可能な商品タイプ、バリエーション、属性を備えた完全な商品カタログ管理
- 匿名ユーザー向けのセッション管理、アイテム結合、数量更新、放棄されたカートのカート有効期限を備えたショッピングカートシステム
- ログイン、請求情報、注文確認、決済、完了メッセージ用のカスタマイズ可能なペインを持つ設定可能なマルチステップチェックアウトフロー
- オンサイト(直接カード入力)、オフサイト(リダイレクト)、手動決済方式をサポートし、保存済み決済方法をサポートする拡張可能な決済ゲートウェイアーキテクチャ
- 柔軟なオファータイプ(固定金額、パーセンテージ、X個買うとY個無料)、条件ベースのターゲティング、使用制限、日付ベースの有効化を備えたプロモーションとクーポンシステム
- EU VAT、UK VAT、カナダGST/HSTの組み込みサポートと、時間ベースの税率変更を持つカスタム税ゾーンを備えた税計算フレームワーク
- ストア固有の通貨、タイムゾーン、税登録、請求国構成を持つマルチストアサポート
- カート変更、注文状態遷移、決済アクティビティを含むすべてのコマースイベントを追跡するアクティビティログシステム
- 設定可能なリセット戦略(無限、年次、月次)を持つ注文番号用の連番パターン生成
- メトリクス、受信トレイ通知、コマース管理機能へのクイックアクセスを備えた管理ダッシュボード
- 任意精度演算、マルチ通貨サポート、ロケール対応フォーマットを備えた価格フィールドタイプ
- 商品、注文、カート、チェックアウト、決済、プロモーションのライフサイクルイベントにモジュールがフックできる包括的なイベントシステム
Use Cases
シンプルなオンラインストア
物理的商品を販売する基本的なオンラインストアを作成します。Commerce Store、Product、Order、Cart、Checkout、Paymentモジュールを有効にします。ビジネス詳細を持つストアを作成し、バリエーション(サイズ、色)を持つ商品を追加し、請求情報付きのチェックアウトフローを設定し、PayPalやStripeなどの決済ゲートウェイをセットアップします。
マルチベンダーマーケットプレイス
マルチストアアーキテクチャを使用して複数のベンダーを持つマーケットプレイスを構築します。各ベンダーは別々の通貨、税登録、決済構成を持つ独自のストアEntityを取得します。商品は特定のストアに関連付けられ、ストアごとの番号パターンシーケンスによりベンダーごとにユニークな注文番号が保証されます。
サブスクリプションコマース
Commerce RecurringモジュールでCommerceを拡張して定期決済を実装します。保存済み決済方法を使用して顧客に自動的に課金し、定期請求期間を持つサブスクリプション商品タイプを作成します。
免税対応B2Bコマース
企業間取引向けにEU VATを設定します。有効なVAT番号を持つ顧客はEU域内供給に対してゼロ税率取引を受けます。顧客プロファイルの税番号フィールドとEU VAT税タイプの自動VAT番号検証を使用します。
プロモーションキャンペーン
プロモーションシステムを使用して複雑なプロモーションキャンペーンを作成します。パーセンテージ割引、固定金額オファー、またはX個買うとY個無料プロモーションをセットアップします。条件を使用して特定の商品をターゲットにし、一括クーポンコードを生成し、顧客ごとの使用制限を設定し、開始/終了日でプロモーションをスケジュールします。
デジタルダウンロードストア
物理的配送要件なしで商品タイプを作成してデジタル商品を販売します。購入後の安全なダウンロード配信にCommerce Fileモジュールを使用し、即時アクセス用のインスタントチェックアウト完了を設定します。
Tips
- /admin/commerceのCommerceダッシュボードを使用して、注文、商品、設定にすばやくアクセスできます
- パートナーバナーはsettings.phpに$settings['commerce_show_partner_banners'] = FALSE;を追加して無効にできます
- 商品バリエーションは属性値からの自動タイトル生成をサポートしています - バリエーションタイプ設定で有効にしてください
- プロモーションシステムは互換性ルールをサポートしています - 「組み合わせ不可」に設定してスタッキングを防止できます
- /admin/commerce/orders/{order}/logsのアクティビティログを使用して、注文へのすべての変更を監査できます
- カート有効期限を注文タイプごとに設定して、放棄されたカートを自動的にクリーンアップできます
- 価格リゾルバーチェーンはカスタム価格設定ロジックを許可します - より高い優先度でカスタムリゾルバーを追加してデフォルト価格をオーバーライドできます
- チェックアウトフローは注文タイプEntityのサードパーティ設定を使用して注文タイプごとにカスタマイズできます
Technical Details
Admin Pages 17
/admin/commerce
すべてのCommerce機能へのクイックアクセス、メトリクス概要、Drupal Commerceからの受信トレイ通知を提供するメインCommerce管理ダッシュボード。
/admin/commerce/config
カテゴリ別に整理されたすべてのCommerce設定オプションの概要ページ。
/admin/commerce/config/stores
ストアEntityを管理します。各ストアには独自の名前、メール、デフォルト通貨、タイムゾーン、住所、請求国構成があります。
/admin/commerce/config/store-types
ストアタイプバンドルとそのフィールド構成を管理します。
/admin/commerce/config/currencies
ストアで利用可能な通貨を管理します。commerceguys/intlライブラリからインポートするか、カスタム通貨を作成します。
/admin/commerce/products
商品カタログを管理します。バリエーションを持つ商品の作成、編集、複製、削除を行います。
/admin/commerce/config/product-types
バリエーションタイプの関連付け、複数バリエーション設定、バリエーションフィールド注入を含む商品タイプバンドルを管理します。
/admin/commerce/config/product-variation-types
注文アイテムタイプの関連付けとタイトル生成設定を含む商品バリエーションタイプバンドルを管理します。
/admin/commerce/product-attributes
商品属性(色、サイズなど)とその値を管理します。属性は商品バリエーションの作成に使用されます。
/admin/commerce/orders
注文状況、決済、フルフィルメントを含む顧客注文を表示・管理します。
/admin/commerce/config/order-types
ワークフロー選択、リフレッシュ設定、領収書メール設定を含む注文タイプバンドルを管理します。
/admin/commerce/config/order-item-types
注文アイテムタイプバンドルと購入可能Entityタイプの関連付けを管理します。
/admin/commerce/config/checkout-flows
顧客チェックアウト体験のためのカスタマイズ可能なステップとペインを持つチェックアウトフロー構成を管理します。
/admin/commerce/config/payment-gateways
オンサイト、オフサイト、手動ゲートウェイを含む顧客決済処理用の決済ゲートウェイを設定します。
/admin/commerce/promotions
設定可能なオファー、条件、クーポン、使用制限を持つプロモーションと割引を管理します。
/admin/commerce/config/tax-types
EU VAT、UK VAT、カナダ売上税、カスタム税ゾーンを含む自動税計算用の税タイプを設定します。
/admin/commerce/config/number-patterns
注文番号や類似のシーケンス生成用の連番パターンを設定します。
権限 19
Hooks 2
hook_commerce_inline_form_alter
Commerceインラインフォームがレンダリングされる前に変更を実行
hook_commerce_inline_form_PLUGIN_ID_alter
プラグイン固有のインラインフォーム変更を実行
Troubleshooting 6
PHPセッションが正しく動作していることを確認してください。Commerceは匿名カートIDをセッションに保存します。セッション構成を確認し、セッションCookieが適切に設定されていることを確認してください。
/admin/commerce/config/currenciesで通貨構成を確認してください。各通貨には小数点精度を制御する「小数点以下桁数」設定があります。
プロモーションが有効で、日付範囲内で、使用可能回数が残っていて、条件が注文にマッチしていることを確認してください。プロモーションのストアと注文タイプの制限を確認してください。
/admin/commerce/config/tax-typesで税タイプが設定されており、その条件が注文にマッチしていることを確認してください。EU VATの場合、ストアに適用される国の税登録が設定されていることを確認してください。
注文残高がゼロの場合、決済ステップは非表示になります。商品に価格があり、プロモーションが注文を無料にしていないことを確認してください。
/admin/commerce/config/order-typesで番号パターンが設定され注文タイプに割り当てられていることを確認してください。番号パターンのターゲットEntityタイプが「commerce_order」に設定されていることを確認してください。
Security Notes 5
- 決済ゲートウェイ認証情報は設定に保存されます - 本番環境では環境変数またはKeyモジュールを使用してください
- カートセッションIDはPHPセッションに保存されます - セッションセキュリティが適切に設定されていることを確認してください
- 管理者権限は慎重に付与する必要があります - 「administer commerce_order」はすべての顧客データの閲覧を許可します
- 決済方法ストレージには機密カードデータ(下4桁、有効期限)が含まれます - データベースセキュリティを確保してください
- クーポンコードは大文字小文字を区別せずデータベースに保存されます - 一括生成コードには十分な長さと複雑さを使用してください