ハマログ

株式会社イーツー・インフォの社員ブログ

EC-CUBE4始めました

最近Nintendo-Switchを買い、毎晩3D酔いして老いを感じている、fujiです。


EC-CUBE3向けのソースを、EC-CUBE4で動くように修正しているのですが、なかなか苦戦しています。

構造、コンテナ作成、マイグレーション、ルーティングの仕組みや、EC-CUBE関数の処理がいくつか変わっており、一進一退しながら進めています。

 

4.0はリリースしたばかりということもあり、公式ドキュメントが整備中で、ネット上にも資料が少ないです。

公式ドキュメントの正式リリースもお待ちしています!w


最近時間をかけた個所
マイグレーション

EC-CUBE3:PluginManagerに対象ファイル名を書いて、インストール時に実行。

EC-CUBE4:Entityにアノテーションで指定して、インストール時に実行。

 

ファイルの差分を見ていたら、コメントが増えていることを発見。

ドキュメントにも記載があり、盲点でした。。

http://doc4.ec-cube.net/customize_entity

今後はコメントもよく読みたいと思います。

ちなみに、Controllerのルーティングもアノテーションで指定してました。

 

完全なURLの取得

EC-CUBE3:Applicationクラスのurlメソッド

EC-CUBE4:UrlGeneratorInterfaceクラスのgenerateメソッド

 

https://www.e2info.co.jp/

画像を表示させる為に、上記の形でURLを取得する必要がありました。

しかし、Applicationクラスが使えなくなっており、使えそうなメソッドはAbstractControllerにはあるものの、Eventクラスでは上手く呼び出せませんでした。

 

__constructにContainerInterfaceを追加して、get(‘サービスのID’)でサービスが取得でき、メソッドが使えるようになるようです。

下記でフロントのURLが取得できました。

$this->router->generate("homepage",array(),UrlGeneratorInterface::ABSOLUTE_URL);

この仕組みもドキュメントに記載がありました。

https://symfony.com/doc/3.4/service_container.html

 

ドキュメントを見ることの大切さを再認識。。

EC-CUBE

  fuji   2018年11月21日


関連記事

EC-CUBEの開発者向けインストール方法&初期設定

通常のEC-CUBEのインストール方法は「EC-CUBEの公式サイトからZIPを…

EC-CUBEのシーケンス番号を変更する

EC-CUBEのID管理にはシーケンステーブルが利用されています。 dtb_or…

EC-CUBE (Symfony)のCLIで送ったメールのURLがlocalhostになる

概要 EC-CUBE(4系以上)において、バッチ処理などからメールを送信したい場…


← 前の投稿

次の投稿 →