ググらずには前へ進めないフロントエンドエンジニアが書く、次はググらなくてもできますように…とメモを残すブログです!

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; を付けるとよい