Basic Cart
注文後にメール通知を送信し、カート管理ブロックを提供するDrupal用のシンプルなショッピングカートとチェックアウトシステムです。
basic_cart
インストール
composer require 'drupal/basic_cart:8.x-8.11'
概要
Basic Cartは、フル機能のコマースプラットフォームの複雑さなしにシンプルなショッピングカート機能を必要とする小規模なウェブサイト向けに設計された軽量なeコマースソリューションです。サイト管理者は任意のコンテンツタイプに「カートに追加」機能を有効にでき、製品、サービス、観光オファーの販売に最適です。
このモジュールは、顧客情報と購入商品を保存するための注文コンテンツタイプ(basic_cart_order)を自動的に作成します。顧客がチェックアウトを完了すると、システムはサイト管理者と顧客の両方に設定可能なメール通知を送信します。カートデータはセッションストレージまたはデータベーステーブル(永続的なカートを希望するログインユーザー向け)のいずれかに保存できます。
Basic Cartは、カスタマイズ可能な通貨フォーマット、VAT/税計算、数量管理による価格表示をサポートしています。カート内容と「カートを見る」リンクを表示するブロックと、視覚的なカートアイコン付きでカートアイテム数のみを表示するブロックの2つのブロックを提供します。
Features
- 設定により選択したコンテンツタイプに「カートに追加」ボタンを有効化
- セッションベースのカートストレージとログインユーザー向けのオプションのデータベース永続化
- 注文完了時に管理者と顧客への設定可能なメール通知
- パーセンテージベースの設定によるVAT/税計算サポート
- 複数の価格フォーマットオプション(通貨位置を含む8種類のフォーマット)
- カートに追加時の増減による数量管理
- アイテム、数量、価格、合計を表示するカートブロック
- カスタマイズ可能なアイコンサイズと位置指定のカートカウントブロック
- 顧客フィールド(名前、メール、電話、住所、市区町村、郵便番号、メッセージ)を含む注文コンテンツタイプ
- 注文の表示と管理のためのViewsベースの管理インターフェース
- 設定可能なタイトルとメッセージ、またはカスタムURLへのリダイレクトを含むカスタムサンキューページ
- メールテンプレート用のToken対応([basic_cart_order:products]、[basic_cart_order:basic_cart_total_price]など)
- アニメーションフィードバック付きのAJAX駆動カート追加機能
- 登録済みタイプの全ノードに対してカート追加を一括有効化するDrushコマンド
- 選択したノードのカート追加を有効化する一括アクション
Use Cases
シンプルな製品カタログ
限られた数の製品(ハンドメイドクラフト、地元の農産物など)を販売する小規模ビジネスウェブサイト。「製品」コンテンツタイプを作成し、Basic Cart設定で有効にし、価格付きの製品ノードを追加し、Viewsリストを作成します。顧客は連絡先情報を提供してカートにアイテムを追加しチェックアウトできます。
サービス予約リクエスト
顧客がサービスを選択して見積もりを依頼できるサービス業(コンサルティング、住宅修理など)。「サービス」コンテンツタイプを作成し、カート追加を有効にし、チェックアウトフォームをカスタマイズします。注文は顧客の連絡先情報を含むサービスリクエストとして機能します。
イベントチケット予約
訪問者がチケットを予約できる会場やイベント主催者向け。チケット価格付きの「イベント」コンテンツタイプを作成し、複数チケット購入のために数量を有効にし、注文システムを使用して参加者情報を収集します。
観光パッケージオファー
バケーションパッケージやツアーを提供する観光ウェブサイト。価格付きの「ツアーパッケージ」コンテンツタイプを作成し、カート追加を有効にし、訪問者がチェックアウト前にカートに複数のパッケージを追加して旅行を組み立てられるようにします。
デジタルダウンロードカタログ
デジタル製品(テンプレート、電子書籍、ソフトウェア)を提供するウェブサイト。価格付きの「デジタル製品」コンテンツタイプを作成します。配送が不要なため、メール通知付きの基本的なチェックアウトで注文処理に必要なすべてが揃います。
Tips
- 製品詳細ページでは「数量付きカートに追加」フォーマッターを使用し、ティーザー/リスト表示ではよりクリーンなインターフェースのために基本の「カートに追加」フォーマッターを使用してください。
- 製品コンテンツタイプに「basic_cart_order」という名前のカスタム表示モードを作成して、注文メールと注文管理ビューに表示される情報を正確に制御してください。
- すべてのページでカートを常に表示するために、Cart Count Blockをフローティング/固定位置に配置してください。
- より詳細な注文確認を表示したり、外部システムと統合したい場合は、サンキューページのリダイレクトをカスタムURLに設定してください。
- Views一括操作の「カートに追加を有効化」アクションを使用して、多くの既存製品のカート追加を素早く有効にしてください。
- コンテンツタイプを最初に有効にした後、Drushコマンド「drush baca-en」を使用してすべてのノードのカート追加を一括有効化してください。
Technical Details
Admin Pages 3
/admin/config/basic-cart/settings
コンテンツタイプ、通貨、価格設定、VAT、注文オプション、カスタマイズ可能なテキストラベルを含むメインショッピングカート設定を構成します。
/admin/config/basic-cart/checkout
注文確定後に管理者と顧客に送信されるメール通知を設定し、サンキューページをカスタマイズします。
/basic-cart-orders
顧客情報、注文内容、VAT、合計価格、購入日を含むすべての確定注文をテーブル形式で表示するViewsベースの管理ページ。管理メニューからアクセス可能です。
権限 4
Hooks 1
hook_basic_cart_tokens
メールテンプレートで使用するカスタムTokenを提供します。モジュールは'basic_cart_order' Tokenタイプでトークンを定義します。
Drush Commands 1
drush basic-cart:enable-add-to-cart
登録済みの全コンテンツタイプの全ノードに対してカート追加を有効化します。メモリ使用量を管理するために50件ずつバッチ処理します。
Troubleshooting 5
Basic Cart設定(/admin/config/basic-cart/settings)でコンテンツタイプが選択されていることを確認してください。ノード編集時に「カートに追加」フィールドが有効(チェック)になっていることを確認してください。また、コンテンツタイプの表示設定にadd_to_cartフィールドが含まれていることも確認してください。
Basic Cart設定で「カートデータの永続化」オプションを有効にしてください。これによりログインユーザーのカートがデータベースに保存されます。匿名ユーザーは常にブラウザを閉じるとクリアされるセッションストレージを使用することに注意してください。
チェックアウト設定で管理者メールアドレスを確認してください。サイトのメールシステムが正しく設定されていることを確認してください。Drupalの最近のログメッセージでメール関連のエラーがないか確認してください。顧客メールが期待される場合は、「注文確定後に顧客にメールを送信」がチェックされていることを確認してください。
カート設定で「価格を有効化」と「通貨を有効化」の両方を有効にしてください。適切な価格フォーマットを選択してください。製品にadd_to_cart_priceフィールドが入力されていることを確認してください。
AJAXが動作するには「カート追加後のリダイレクト」設定が空または「<none>」に設定されていることを確認してください。ブラウザコンソールでJavaScriptエラーがないか確認してください。core/drupal.ajaxライブラリが正しく読み込まれていることを確認してください。
Security Notes 4
- モジュールはDrupalの標準パーミッションシステムを使用します。「Basic Cartを使用」パーミッションはアイテムの追加とチェックアウトを許可するため、慎重に付与してください。
- 「直接注文を作成」パーミッションはカートを完全にバイパスするため、信頼できる管理者にのみ付与してください。
- 注文データはノードとして保存されます。basic_cart_orderコンテンツタイプのノードアクセスパーミッションを適切に確認し設定してください。
- 顧客が入力したメールアドレスは注文ノードに保存されます。適切なアクセス制御を確保し、GDPRコンプライアンス要件を検討してください。