バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > その他 > EventSubscriber で BaseInfo を使いたい

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2020/10/27 16:19
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
EventSubscriber で BaseInfo を使いたい
EC-CUBE 4.0.4
商品オプションプラグイン 1.0.15

基本設定で追加した項目を商品オプションプラグインのソース内で読み込みたく、 CartItemEventSubscriber で BaseInfoRepository を読み込もうとすると、ブラウザで表示するときにタイムアウトになってしまいます。
Fatal error(E_ERROR): Maximum execution time of 1200 seconds exceeded

また、このときコンソールからキャッシュクリアを試すとメモリオーバーになってしまいます。
Error: Allowed memory size of 8589934592 bytes exhausted (tried to allocate 1052672 bytes)

原因わかりますでしょうか?


class CartItemEventSubscriber implements EventSubscriber
{

    public function __construct(
            TaxRuleService $taxRuleService,
            BaseInfoRepository $baseInfoRepository, // ★これを追加するとおかしくなる
            EccubeConfig $eccubeConfig
            )
    {
        $this->taxRuleService = $taxRuleService;
        $this->BaseInfo = $baseInfoRepository->get();
        $this->eccubeConfig = $eccubeConfig;
    }

    ...


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2020/10/27 17:35
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
Re: EventSubscriber で BaseInfo を使いたい
本件、自己解決しました。

EventSubscriber のコンストラクタで Repository は読み込めないようなので、ContainerInterface から読み込むように変更しました。

use Symfony\Component\DependencyInjection\ContainerInterface;

class CartItemEventSubscriber implements EventSubscriber
{

    public function __construct(
            TaxRuleService $taxRuleService,
            ContainerInterface $container,
            EccubeConfig $eccubeConfig
            )
    {
        $this->taxRuleService = $taxRuleService;
        $this->container = $container;
        $this->eccubeConfig = $eccubeConfig;
    }

    public function postLoad(LifecycleEventArgs $args)
    {
        $BaseInfo = $this->container->get(BaseInfoRepository::class)->get();

        ...


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.