EC-CUBE 4系 メモ
2019/12/18
⚠️投稿日または最終更新日から3年以上経過している内容です。
メモ書きです。
気が付いたら / 分かったことが増えたら、随時更新。
全般
- config.php などはなくなったので .env or .htaccess にて環境設定値を書く。
- APP_DEBUG=1 にして デバックバーを活用する
- 編集したいページが出てきたら @Route("/url", name="url") を探す
- とりあえずキャッシュをクリアする
は消さない
コマンドライン
- キャッシュクリア
php bin/console cache:clear --no-warmup
- Proxy クラスを生成
php bin/console eccube:generate:proxies
- SQLのアップデート 確認(実行の前にまずはこれで確認を)
php bin/console doctrine:schema:update --dump-sql
- SQLのアップデート 実行
php bin/console doctrine:schema:update --dump-sql --force
リンク href の貼り方
- {{ url('homepage') }}
- {{ url('product_list') }}?category_id=1
- {{ url('product_detail', {'id': 1}) }}
- {{ url(eccube_config.eccube_user_data_route, {'route': 'hoge'}) }}
画像の呼び出し
- {{ asset('assets/img/hoge.jpg') }}
使ってみたいプラグイン
- 【簡単ページ追加】taba app CMSプラグイン for EC-CUBE 4 WordPress を入れることなく、カスタムフィールド感覚なことができちゃう凄そうなプラグイン。使い勝手がよさそうで、めっちゃ使ってみたい。予算が下りず試せてませんが、販売価格以上の価値があると思います!
Twig 上で完結できるお手軽カスタマイズ
Twig 小技
- トップページだけタイトルを変える {% if title == "TOPページ" %}{{ BaseInfo.shop_name }}|説明文ほげほげ{% else %}{% if subtitle is defined and subtitle is not empty %}{{ subtitle }} - {% elseif title is defined and title is not empty %}{{ title }} - {% endif %}{{ BaseInfo.shop_name }}{% endif %}
- HTML を出力したい |raw を付ける
- |trans とは 定義済みの言葉を翻訳してくれる。 日本向けだと活躍する機会はない。
- if 分で定義済みかどうか {% if hoge is defined %}
- 変数に値をセットする {% set hoge = '' %}
- 置換をする {{ 'ほげほげ'|replace({'げ': ''}) }} {{ 'ほげほげ'|replace({'げ': '', 'ほ': 'お'}) }}
- Twig 関数の間に文字列を出力する {{ asset('assets/img/hoge-' ~ id ~ '.jpg') }}
- ログイン状態を判定する {% if is_granted('ROLE_USER') %}
SQL
- 一括で何かする際、外部キー制約で実行できないことが多いので、 先頭に SET FOREIGN_KEY_CHECKS = 0; 後ろに SET FOREIGN_KEY_CHECKS = 1; を付けるとよい