OctoberCMS用のネットショップ作成プラグインはいくつかあるが、拡張機能が充実しているShopaholicを使ってみる。
プラグイン自体は良さそうだがドキュメントがあまりに不十分で、使い方を把握するのにソースコードを紐解く必要があった、のでメモ。
今回はプラグインのインストールまで。
使用するプラグイン
Shopaholicは更に機能拡張するためのプラグインを多数(有料含む)用意しているが、下記プラグイン(無料)だけで基本的にECサイトは作ることができる(はず)。
- Orders Shopaholic - Shopaholicにカートや注文登録機能を追加する拡張プラグイン
- Shopaholic - Shopaholicの基礎プラグイン。主に製品情報を管理&提供する
- ToolBox - 上記プラグインで使用している主にライブラリ
Shopaholicのインストール
管理画面でインストールする場合は非常に簡単なので、ここではcomposerでインストールする説明をする。
残念ながらShopaholic関連プラグインはpackagistに登録もされてなければ、composer.jsonファイルもソースコードに含んでいないものが多い。なので、自分のcomposer.jsonにこれらのパッケージの定義を記述してやる必要がある。
結論から書くと、下記の例の様にすればよい。
{
...
"require": {
...
"lovata/oc-ordersshopaholic-plugin": "~1.10"
},
...
"repositories": [
{
"type": "package",
"package": {
"name": "lovata/oc-ordersshopaholic-plugin",
"type": "october-plugin",
"version": "1.10.2",
"source": {
"url": "https://github.com/lovata/oc-orders-shopaholic-plugin",
"type": "git",
"reference": "1.10.2"
},
"require": {
"lovata/oc-toolbox-plugin": "~1.14",
"lovata/oc-shopaholic-plugin": "~1.12"
}
}
},
{
"type": "package",
"package": {
"name": "lovata/oc-shopaholic-plugin",
"type": "october-plugin",
"version": "1.12.0",
"source": {
"url": "https://github.com/lovata/oc-shopaholic-plugin",
"type": "git",
"reference": "1.12.0"
},
"require": {
"lovata/oc-toolbox-plugin": "~1.14"
}
}
},
{
"type": "package",
"package": {
"name": "lovata/oc-toolbox-plugin",
"type": "october-plugin",
"version": "1.14.1",
"source": {
"url": "https://github.com/lovata/oc-toolbox-plugin",
"type": "git",
"reference": "1.14.1"
},
"require": {
"kharanenka/php-result-store": "2.*",
"kharanenka/laravel-scope-active": "1.0.*",
"kharanenka/oc-pagination": "1.0.*",
"kharanenka/laravel-cache-helper": "1.0.*",
"kharanenka/laravel-scope-category-belongs-to": "1.0.*",
"kharanenka/laravel-scope-code": "1.0.*",
"kharanenka/laravel-scope-date": "1.0.*",
"kharanenka/laravel-scope-external-id": "1.0.*",
"kharanenka/laravel-scope-name": "1.0.*",
"kharanenka/laravel-scope-slug": "1.0.*",
"kharanenka/laravel-scope-user-belongs-to": "1.0.*",
"kharanenka/oc-data-file-model": "1.*",
"kharanenka/laravel-scope-moderation": "1.0.*"
}
}
}
]
}
書き方は「OctoberCMSにComposerで非Composer対応プラグインをインストールする」で紹介したとおりだ。
ここでは上で紹介した3つのプラグインのpackage情報を定義している。
それぞれ、GitHubリポジトリで最新のタグを確認して、そのタグをreference
に設定し、同じバージョン名でversion
を設定している。
そして、lovata/oc-ordersshopaholic-plugin
をrequire
に追加している。こいつを入れれば他の2つもこいつのrequire
をたどってインストールされる。
またlovata/oc-toolbox-plugin
のrequire
はこいつのcomposer.jsonからのコピーだ。
これで、下記を実行すればインストールは完了する。
$ composer update
$ php artisan october:up
マイグレーションも正常に完了したら、管理画面で製品やカテゴリの登録ができるようになる。
次回は製品を登録して表示するまでを説明する。コンポーネントの一般的な使い方なので説明の必要はなさそうだが、一連の流れとして書く。