EC-CUBE
作成日時:2024-08-01以前
更新日時:2024-08-01
概要
オープンソースのEC向けコンテンツ管理システム。
- PHP + symfony + doctrineをベースに作られている。
- symfonyの仕組みを知れば色々拡張出来る。
- だいたい公開されているプラグインを使えば何とかなる。
- ドキュメントが豊富
- 脆弱性が多いイメージ
- ライセンスがGPL。ソースを公開せずに済む商用ライセンス(20万円ほど)がある。
Symfony
MVCパラダイムに従ったWebアプリケーションフレームワーク。
最新verは6だが、EC-CUBE4はver3.4を使ってるとか。
Twig(ツイッグ):テンプレートエンジン
doctrine(ドクトリン):ORM
Symfony - Wikipedia
The Fast Track - 基礎から最速で学ぶSymfony入門 (Symfony 6.2 Docs)
MVC。↓コントローラの一例。
class SamplePageController
{
/**
* @Method("GET")
* @Route("/sample")
* @Template("Sample/index.twig")
*/
public function testMethod()
{
return ['name' => 'EC-CUBE'];
}
}
アノテーションとかでルーティングやVIEWを定義したりする。
簡単。
DIもある。EC-CUBE4 DIを利用する - Qiita
Doctrine
ORM。
Twig
テンプレートエンジン。
【PHP】Twigまとめ - Qiita
https://qiita.com/assa/items/4fef2f3abd95248ed626
修正が反映されない場合
だいたいキャッシュのせい。
- スーパーリロード(Ctrl + Shift + R)する
- 管理画面からTwigキャッシュのクリアをする。
- EC-CUBEのキャッシュクリアコマンドを叩く(https://doc4.ec-cube.net/plugin_error)
- キャッシュフォルダを削除する。
以下、公式のキャッシュクリア方法。
## path/to/eccube_rootの部分にEC-CUBEのディレクトリパスを記載
cd path/to/eccube_root/
## キャッシュのクリアと生成コマンドを実行
## Symfony コマンドでのキャッシュクリアと生成
bin/console cache:clear --no-warmup
bin/console cache:warmup
## ※キャッシュクリアコマンドがうまくいかない場合は、強制削除をお試しください。
## path/to/eccube_root/の部分はEC-CUBEのディレクトリパスを記載
rm -rf path/to/eccube_root/var/cache/*
テーブル追加/修正関連
doctrineコマンドやTraitを使う。
【EC-CUBE 4】オリジナルテーブルをデータベースに新規で追加する方法 | ノベブロ / NOVEBLO
【EC-CUBE 4】既存テーブルに新しい項目(カラム)を追加する方法 | ノベブロ / NOVEBLO
権限管理
/admin/setting/system/authority
- 上記の管理画面で、権限に応じたアクセス禁止URLを登録できる。
- その権限でログインすると、アクセス禁止URLへのリンクが画面上から消える。便利。
dtb_authority_roleに登録されるので、ここに直接レコードを登録してもよい。
リンク
- 【公式】EC-CUBE|ECサイト構築・リニューアルならECオープンプラットフォームEC-CUBE
- EC-CUBE - Wikipedia
- EC-CUBE 4 | ノベブロ / NOVEBLO
- EC-CUBE 4開発者向けドキュメント - < for EC-CUBE 4 Developers />
- EC-CUBE4 管理・運用マニュアル |【公式】EC-CUBE
- EC-CUBE4はここが酷い。
- EC-CUBE開発コミュニティ - 日本発ECオープンプラットフォーム
- EC-CUBE研修資料(Symfony入門ハンズオン) - Qiita
- GitHub - EC-CUBE/ec-cube: EC-CUBE is the most popular e-commerce solution in Japan
- Symfony Documentation
- 学習のステップ - < for EC-CUBE 4 Developers />
- 非公式?データベース定義