プラグイン
BcCsvImportCore baserCMS 5対応
このプラグインについて
baserCMS5の管理画面からCSVインポート機能を作成するための共通コアプラグインです。
CSVアップロード、分割処理、ジョブ管理、中断・再開、バリデーションモード、エラーCSV出力など、CSVインポート機能に必要な基本処理をまとめています。
このプラグイン単体では実際のデータインポート機能としては動作しません。
商品、受注、ブログ記事など、用途ごとの派生プラグインと組み合わせて利用します。
- 主な機能
- CSVファイルのアップロード
- 管理画面からのインポート実行
- 大量データ向けの分割処理
- 中断・再開・削除が可能なジョブ管理
- strict / lenient のバリデーションモード
- append / replace のインポート方式
- 重複データの skip / overwrite / error 処理
- エラー一覧表示
- エラーCSVのダウンロード
- CSVヘッダー不一致の検出
- テンプレートCSVの生成
- インポート進捗の表示
- ログ出力
基本的な使い方
BcCsvImportCoreは、単体で利用するプラグインではありません。
用途ごとのCSVインポートプラグインと組み合わせて利用します。
たとえば、サンプル商品データのインポート機能を確認する場合は、次のような構成になります。
1. BcCsvImportCore を有効化します。
2. BcCsvImportSampleProducts などを有効化します。
3. 管理画面の「商品CSVインポート サンプル」メニューからCSVインポートを実行します。
画面の見方
派生プラグインの多くは、BcCsvImportCoreの共通画面を利用できます。
操作エリア
CSVファイルの選択、アップロード、テンプレートCSVのダウンロードを行います。
派生プラグインで定義した項目に合わせて、テンプレートCSVを生成できます。
オプションエリア
インポート時の動作を設定できます。
- 文字コード
- バリデーションモード
- インポート方式
- 重複データの処理
派生プラグインによっては、これらの設定を非表示にしたり、固定動作にしたりできます。
ジョブ一覧
インポート処理の状態を確認できます。
未完了ジョブ、処理中ジョブ、失敗ジョブなどを管理でき、必要に応じて再開や削除も行えます。
履歴
完了したインポート処理やキャンセルされた処理を確認できます。
エラーが発生した場合は、エラーCSVをダウンロードして内容を確認できます。
開発者向け情報
BcCsvImportCoreは、CSVインポート機能を共通化するためのコアプラグインです。
各派生プラグインでは、対象テーブルごとのインポートサービスクラスを実装します。
共通のジョブ管理、分割処理、テンプレートCSV生成、エラー処理などはBcCsvImportCore側が担当します。
実装の考え方
- 共通処理は BcCsvImportCore に集約
- 対象データごとの処理は派生プラグインで実装
- 管理画面の共通テンプレートを再利用可能
- 必要に応じて派生プラグイン側で独自UIを追加可能
- アップロード時の追加パラメータをインポート処理へ引き渡し可能
カスタムインポートプラグイン作成
独自のCSVインポート機能を作成する場合は、BcCsvImportCoreをベースにして、対象テーブル用のサービスクラスや管理画面メニューを追加します。
詳細はGitHubリポジトリ内のドキュメントを参照してください。
https://github.com/kaburk/BcCsvImportCore/
注意事項
単体では動作しません
BcCsvImportCoreは、CSVインポート機能の共通処理を提供するコアプラグインです。
このプラグイン単体では、商品や記事などの具体的なデータをインポートする画面・処理としては利用できません。
実際に利用する場合は、BcCsvImportCoreに対応した派生プラグインをあわせて導入してください。
利用前の確認
- インポート前に必ずバックアップを取得してください。
- 本番環境で利用する前に、テスト環境でCSVの内容と動作を確認してください。
- 大量データを扱う場合は、サーバー環境やPHPの実行時間、メモリ制限に注意してください。
- 派生プラグインごとに、対応するCSV形式や必須項目が異なります。
関連プラグイン
- BcCsvImportCore - baserCMS5系CSV処理の基本部分
- BcCsvImportSampleProducts - 動作確認・開発学習用サンプル
- BcCsvImportSampleOrders - 受注データインポートのサンプル実装
- BcCsvImportSampleOrderDetails - 1対多の受注ヘッダー・受注明細インポートのサンプル実装
- BcCsvImportBlogPosts - ブログ記事インポート











