バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (45 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 55
もっと...

サイト内検索

質問 > 管理機能 > 4系でプラグインを有効化出来ない ーFatalThrowableError

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
akiakihi
投稿日時: 2020/1/8 22:37
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 89
4系でプラグインを有効化出来ない ーFatalThrowableError
[EC-CUBE] 4.0.3
[レンタルサーバ]さくらインターネット
[OS] Windows10
[PHP] PHP Version7.3.12
[データベース] MySQL 5.7.28
[ブラウザ] Chrome

いつもお世話になっております。
PayPalチェックアウト決済プラグインを入れたいのですが、インストールは出来たものの有効化出来ずに困っております。

何度かチャレンジしたのですが、毎回システムエラーとなるので、ログをみたところ、
引用:
"Call to a member function getBlockRow() on null","app/Plugin/PayPalCheckout/PluginManager.php",341

と書かれていました。

その後
一度管理画面からプラグインをアンインストールしてから再度インストールし直そうとしたのですが、30分ほど待っても削除が完了しないので、仕方なく画面をリロード
→プラグインは残ったままでサーバーのファイル内容にも変化がないようでしたので、再度管理画面から有効化してみたら、500エラー(FatalThrowableError)となり
下記のデバッグが表示されました

引用:
CRITICAL php: all to a member function getBlockRow() on null

ERROR admin: Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function getBlockRow() on null (uncaught exception) at /app/Plugin/PayPalCheckout/PluginManager.php line 341

CRITICAL request: Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalThrowableError: "Call to a member function getBlockRow() on null" at /app/Plugin/PayPalCheckout/PluginManager.php line 341


PluginManager.php (line 341)の周辺の記述はこちらです
引用:

336 $BlockPosition->setSection(Layout::TARGET_ID_FOOTER);
337 $BlockPosition->setBlock($Block);
338 $BlockPosition->setBlockId($Block->getId());
339 $BlockPosition->setLayout($Layout);
340 $BlockPosition->setLayoutId($insertPage);
341 $BlockPosition->setBlockRow($InsertedBlockPosition->getBlockRow() + 1);
342 $entityManager->persist($BlockPosition);
343 }
344 $entityManager->flush($BlockPosition);
345 }


ちなみに、他のプラグインはエラーが出つつも、管理画面に戻ったら有効化出来てました。
またローカルではPayPalチェックアウト決済プラグインの有効化は出来ました(ログにはシステムエラーが残っていましたが)

どなたか、対策についてご教授いただけませんでしょうか
どうぞよろしくお願いいたします。
umebius
投稿日時: 2020/1/9 2:53
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1649
Re: 4系でプラグインを有効化出来ない ーFatalThrowableError
ソースコードを見る限り、こちらのプラグインは
レイアウト管理にて#footerの部分に1つもブロックがないと有効化時にエラーになるようです

トップページ用レイアウト、下層レイアウト共に、#footerの場所に何かしらブロックが存在する必要があります。

初期状態ではフッターブロックがあるので良いのですが、それが別の場所に移動されていたりするとエラーになると思います。

解決方法としては#footer部分にブロックを配置するか、プラグインを修正するかどちらかになると思います。


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム特急案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

akiakihi
投稿日時: 2020/1/9 8:50
対応状況: 解決済
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 89
Re: 4系でプラグインを有効化出来ない ーFatalThrowableError
ありがとうございます!

footerブロックを#footerに入れてありますが、表示項目のカスタマイズをしていたので、試しにデフォルトのfooterブロックに入れ替えてみたところ、
同じエラーが出てしまいました。

どのみち、フッターにロゴブロックを入れられても、後で削除するものなので
プラグインの該当箇所をコメントアウトすることで無事にプラグインインストールが出来ました

・・・・
と書いたあとで、
よくよく確認してみましたら、下層レイアウトの方のfooterブロックが、#footerでなく#contents_bottomの方に置いてありました…

失礼いたしましたm(_ _)m

ともあれ、お陰様で無事に有効化することが出来、とても助かりました。
ありがとうございました!
umebius
投稿日時: 2020/1/9 9:09
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1649
Re: 4系でプラグインを有効化出来ない ーFatalThrowableError
有効化されたようで良かったです。

それにしても#footerにブロックがないとエラーになるというのはちょっと困りますね(^^;
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,306名です
総投稿数は97,176件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2478
4
nanasess
2088
5
umebius
1649
6
yuh
1612
7
red
1410
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.