バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > クーポンプラグインの無効化ができない

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kisui
投稿日時: 2020/8/4 15:09
対応状況: −−−
新米
登録日: 2020/1/27
居住地:
投稿: 4
クーポンプラグインの無効化ができない
▼テンプレート
[EC-CUBE] EC-CUBE4.0.3
[レンタルサーバ] Xserver
[OS] -
[PHP] 7.3.16
[データベース] MySQL 5.7
[WEBサーバ] -
[ブラウザ] -
[導入プラグインの有無]
 カテゴリページ/コンテンツ追加 for EC-CUBE4
 最近チェックした商品
 送料無料対象商品設定プラグイン
 配送方法設定拡張プラグイン
 定休日管理プラグイン
 同じカテゴリの商品を自動で表示
 全体ランキング(販売個数ベース) for EC-CUBE4
 taba app バナー管理プラグイン
 WordPressブログ記事一覧表示プラグイン
 クロネコヤマト カード・後払い一体型決済サービス
[カスタマイズの有無] -
[現象] クーポンプラグインの無効化が出来ない


プラグイン一覧からクーポンプラグインの無効化ボタンを押すと
システムエラーが出て無効にできませんでした。
キャッシュ削除・PHPのバージョンを下げる等試しましたが、ダメでした。
DBから直接プラグインを無効にして管理画面からクーポンプラグインを削除後、
もう一度プラグインをインストール→有効化して無効化を試してみましたが
システムエラーが出てしまいます。

調べたところ、こちらと同じ現象のようでした。
https://github.com/EC-CUBE/coupon-plugin/issues/135
デバックモードでも、該当の箇所でエラーが発生しているようなメッセージが出ていました。
こちらでの対応と同じように該当箇所をコメントアウトしたところ
正常に有効・無効の切り替えができるようになったのですが、
この部分はコメントアウトしておいたままでも運用に問題はないでしょうか?

念の為、デバックモードのエラー文を掲載しておきます。
※詳しくないので、他に必要な部分があればご指摘ください。

--------------------------------------
EntityManager#remove() expects parameter 1 to be an entity object, NULL given.

EntityManager_9a5be93->remove(null) in /app/Plugin/Coupon4/PluginManager.php (line 122)

if ($Page) {
$Layout = $container->get(LayoutRepository::class)->find(Layout::DEFAULT_LAYOUT_UNDERLAYER_PAGE);
$PageLayout = $container->get(PageLayoutRepository::class)->findOneBy(['Page' => $Page, 'Layout' => $Layout]);
// Blockの削除
$entityManager = $container->get('doctrine')->getManager();
$entityManager->remove($PageLayout);
$entityManager->remove($Page);
$entityManager->flush();
}
}
--------------------------------------
※$entityManager->remove($PageLayout); の部分がハイライトされています。


どのような問題があってエラーがでているのか、このまま運用しても問題がないのか、ご教示頂ければ大変助かります。
宜しくお願い致します。
468
投稿日時: 2020/8/5 12:27
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: クーポンプラグインの無効化ができない
エラーの内容としてはクーポンプラグインで利用しているページレイアウトを削除したいけれど、見つからないというような内容かと思います。

$PageLayout =
$container->get(PageLayoutRepository::class)->findOneBy(['Page' => $Page, 'Layout' => $Layout]);
上記のページレイアウトを取得する処理の結果がnull(該当無し)になっているのかと思います。

該当の処理をコメントアウトしておくと、プラグインの無効時/アンインストール時にページレイアウトに不要なデータが残ってしまうと思います。
そうすると再度、プラグインをインストールしようとした時に既にページレイアウトが登録済と言う事で何かエラーが発生しそうな気がしますが、今後クーポンプラグインを入れ替える事がないのであれば特に問題は無いかと思います。
(ページレイアウトが残ったからといって他のプラグインに影響を及ぼす事はないと思います)

ページレイアウトを取得しようといて取得できていないのかという点について
以下の点を確認いただきたいのですが
まず、管理画面のコンテンツ管理>ページ管理に「商品購入/クーポン利用」というページはありますか?
その「商品購入/クーポン利用」のページに割り当てているレイアウト設定は「下層ページ用レイアウト」になっていますか?
それとも他のレイアウトを指定していますか?

多分、他のレイアウトを指定していると
$Layout = $container->get(LayoutRepository::class)->find(Layout::DEFAULT_LAYOUT_UNDERLAYER_PAGE);
の条件と異なってくるため、エラーが発生すると思います。
一旦、「商品購入/クーポン利用」ページのレイアウト設定を「下層ページ用レイアウト」に変更した後であれば
プラグインの無効化が正常に終了するのではないでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

kisui
投稿日時: 2020/8/5 14:46
対応状況: −−−
新米
登録日: 2020/1/27
居住地:
投稿: 4
Re: クーポンプラグインの無効化ができない
ご回答ありがとうございます。
ひとまずはコメントアウトしていても問題はないということで安心しました。

引用:
ページレイアウトを取得しようといて取得できていないのかという点について
以下の点を確認いただきたいのですが
まず、管理画面のコンテンツ管理>ページ管理に「商品購入/クーポン利用」というページはありますか?
その「商品購入/クーポン利用」のページに割り当てているレイアウト設定は「下層ページ用レイアウト」になっていますか?
それとも他のレイアウトを指定していますか?


「商品購入/クーポン利用」のページを確認してみたところ、デフォルト以外に追加で作成したレイアウトを指定していました。
ほぼほぼ構築が終わった後に気づいたエラーでしたので、レイアウトを変更していたのをすっかりと忘れていました。
これをデフォルトの「下層ページ用レイアウト」に変更すると、無効化・有効化が正常に動作しました。
デフォルト以外のページレイアウト設定が原因であるとは思い至らずでした。

今回はクーポンプラグインを入れ替えたりなどはしないので、追加したレイアウトのままで運用していこうと思います。
大変助かりました! ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,856名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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