ECCUBE4で本体カスタマイズするときに動作設定をどこに書けばいいのか、開発ドキュメントにもそれらしい記述が見当たらず、ちょっとハマったのでメモ
本体カスタマイズといえどもできるだけ本体アップデートに追随できるように、本体のファイルそのものはなるべく編集したくないものです
そういうニーズは多いハズで、実際、ECCUBE4ではそういう目的で使うためのapp/Customizeフォルダが用意されています
で、今回ハマったのが、じゃあCustomizeの中で使う定数などを書いていく設定ファイルはどこに置いたらいいのか、という問題でした
プラグインなら、[プラグインディレクトリ]/Resouce/config/services.yaml に書けばいいとドキュメントにあります
※ 2019年9月12日現在、公式ドキュメントでは、[プラグインディレクトリ]/Resouce/services.yaml って書いてあるけどこれは間違いかと思われます
ならばCustomizeでも同様かなと app/Customize/Resouce/config/services.yaml を置いてみましたが、これだと読み込んでもらえません
試行錯誤してみましたが、どうやら設定ファイルはCustomizeの外、app/config/eccube/packages に置く作りになっているようです
もちろん既存ファイル – 例えば app/config/eccube/services.yaml – に追記しちゃうのも手なのですが、そんなことしなくとも app/config/eccube/packages の中に自由な名前で設定ファイルを置けば読み込んでくれました
例として、バナー管理を組み込むカスタマイズのためのサンプルです
twigのasset関数用のパッケージ設定も同じファイルの中で同時に記述できました
app/config/eccube/packages/banner.yaml
parameters: banner_save_image_dir: '%kernel.project_dir%/html/upload/banner_image' banner_position: top: 1 side_top: 2 side_bottom: 3 banner_position_label: top: 'TOPページ' side_top: 'サイドメニュー上部' side_bottom: 'サイドメニュー下部' framework: assets: packages: banner_image: base_path: '/html/upload/banner_image'
app/config/eccube はアップデート時に差し替えするよう指示されてるディレクトリなので、間違えてディレクトリごと置き換えてファイルを消すようなことがないように注意がいりますね