ECCUBE3のバージョンアップ

クレジットカード決済のプラグインを実装するのに、すごく苦労しました。
ECCUBE 3.011 -> ECCUBE 3.018に上げました。
また、composerが必要になりましたので、PHPのバージョンも5.6から7.4に上げました。
ただ、ECCUBE3が7.1までしか対応してなくて。。いろいろ大変でした。その時のメモです。

————————————————————————-
ECCUBE3ダウンロード
————————————————————————-
https://github.com/EC-CUBE/ec-cube3/releases
https://github.com/EC-CUBE/ec-cube3/archive/refs/tags/3.0.18-p4.zip
3.0.12.zip などにファイル名を変更してダウンロード

————————————————————————-
バージョンアップに関して情報ぺージ
————————————————————————-
https://doc.ec-cube.net/quickstart_update
マイナーバージョンはひとつづつ上げていくこと。

バージョンアップしたらマイグレーションを必ずする。
https://shop3.fukimodosi.org/html/install.php/migration
新しいバージョン側の /html/install.phpを使う

————————————————————————-
EC-CUBE3でphp7.3以降に対応させる方法
————————————————————————-

これをやらないと、ページのセレクトボックスが崩れたり、管理ページのメニューアイコンが巨大化する。
ECCUBEのディレクトリに移り
curl -OL https://getcomposer.org/download/1.10.23/composer.phar
p composer.phar require –ignore-platform-reqs twig/twig “1.41.0”

————————————————————————-
配布ソースにvenderディレクトリがない
————————————————————————-
ECCUBEのマイナーアップデートをしていくと、3.0.15あたりで、配布のソースにvenderディレクトリがなくなります。
venderフォルダがない件

ECCUBE3系で複数バージョンのアップデートを行う方法

composerを使ってvenderディレクトリを生成する。

>composerをインストールしたら、そのcomposerを使ってライブラリをインストールします。
>拾ってきた旧バージョンのECCUBEを解凍すると、その中にcomposer.json、composer.lockという名前のファイルが
>あるはずです。それらのファイルはcomposerで取得するライブラリの定義ファイルのようなものです。
>コンソール(コマンドプロンプト)でそのファイルが入っているディレクトリに移動し、composer installを叩くことで、
>必要なライブラリが全てインストールされ、vendorディレクトリに格納されます。

————————————————————————-
上部メニューとサイドのログインボックスが表示されない。
————————————————————————-
途中からページの上部メニューとサイドのログインボックスが表示されなくなりました。
apacheのエラーログでは下記が表示されます。
[Sat Mar 26 12:33:56.542150 2022] [php7:warn] [pid 21680] [client 211.2.173.154:61414] PHP Warning: Unable to generate a URL for the named route “block_menu” as such route does not exist. in ****/shop_test/app/Plugin/ExcludeTax/Twig/Extension/EccubeExtension.php on line 210, referer: https://shop5.fukimodosi.org/shopping/complete
[Sat Mar 26 12:33:56.591574 2022] [php7:warn] [pid 21680] [client 211.2.173.154:61414] PHP Warning: Unable to generate a URL for the named route “block_sidelogin” as such route does not exist. in ****/shop_test/app/Plugin/ExcludeTax/Twig/Extension/EccubeExtension.php on line 210, referer: https://shop5.fukimodosi.org/shopping/complete
このエラー。バージョンアップでsrcの中を上書きしたら出た。

【開発コミュニティの人気Tipsをご紹介③】コントローラ付きのブロックを追加してみよう

のルーティングを追加を参照する。

>ルーティングとは、どのURLにアクセスされたらどのコントローラを動かすか、という定義です。
>src/Eccube/ContorollerProvider/FrontControllerProvider.phpに定義されています。

上記ファイルのblockのところから定義が消えていたため、元のファイルを参照して以下を追加してOK
$c->match(‘/block/menu’, ‘\Eccube\Controller\Block\MenuController::index’)->bind(‘block_menu’);
$c->match(‘/block/sidelogin’, ‘\Eccube\Controller\Block\SideloginController::index’)->bind(‘block_sidelogin’);
src/Eccube/ContorollerProvider/FrontControllerProvider.phpが上書きされたので出た現象っぽです。

ここまでやってやっと安定してくれました。なにが大変って「やらないといけないことは何か」を理解するのがすごく大変。

クロネコヤマトプラグイン(カード・後払い一体型決済サービス(3系)

 

1.同一データベース上にワードプレスのテーブルがあればシステムエラーが出る現象がでた。
この際は別のデータベースにECCUBEを置くこと。
  下記ECCUBE4だが同一エラー。

  https://www.freedom.ne.jp/hide/hogehoge/?p=1232 

2.app/Plugin/の下にコピーされないファイルがあるようだ。FTPで足らないファイルをアップロードする。
エラーはログファイルに下記のように記録される。

[2022-03-07 23:51:17] eccube.CRITICAL: Twig_Error_Loader: Template “Block/YamatoPayment/payment_credit.twig” is not defined in “YamatoPayment/shopping_payment.twig” at line 30. (uncaught exception) at /usr/home/fukimodosi/shop_test/vendor/twig/twig/lib/Twig/Loader/Chain.php line 115 {“exception”:”[object] (Twig_Error_Loader(code: 0): Template \”Block/YamatoPayment/payment_credit.twig\” is not defined in \”YamatoPayment/shopping_payment.twig\” at line 30. at /usr/home/fukimodosi/shop_test/vendor/twig/twig/lib/Twig/Loader/Chain.php:115)”} []

Translate »