バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > SalesReport4 の不具合

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

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
TsukasaK
投稿日時: 2019/2/1 8:06
対応状況: −−−
新米
登録日: 2018/12/11
居住地:
投稿: 5
SalesReport4 の不具合
[EC-CUBE] 4.0.1(新規)
[レンタルサーバ] ローカルのバーチャルマシン
[OS] CentOS7
[PHP] PHP 7.2.12
[データベース] MySQL 8.0.13
[WEBサーバ] Apache 2.4.6
[ブラウザ] Chrome
[導入プラグインの有無] SalesReport4 4.0, DeliveryFreeProduct 1.0.2, GmoPaymentGateway4 1.0.2, ProductReview4 4.0, Recommend4 4.0, RelatedProduct4 4.0,
[カスタマイズの有無] 有
[現象]
複数のデータベースを利用したく doctrine.yaml を設定したところ、Plugin\SalesReport4\Service\SalesReportService のコンストラクタのタイプヒントの定義に問題がある、とのエラーでEC-CUBE全体が動作しなくなりました。

○エラーメッセージ

Cannot autowire service "Plugin\SalesReport4\Service\SalesReportService": argument "$entityManager" of method "__construct()" references class "Doctrine\ORM\EntityManager" but no such service exists. Try changing the type-hint to one of its parents: interface "Doctrine\ORM\EntityManagerInterface", or interface "Doctrine\Common\Persistence\ObjectManager".


○該当箇所 Plugin\SalesReport4\Service\SalesReportService line 111

    public function __construct(EntityManager $entityManager, EccubeConfig $eccubeConfig)
    {
        $this->entityManager = $entityManager;
        $this->eccubeConfig = $eccubeConfig;
    }


これを以下のように修正すると正常に動作するようになりました。

    public function __construct(EntityManagerInterface $entityManager, EccubeConfig $eccubeConfig)
    {
        $this->entityManager = $entityManager;
        $this->eccubeConfig = $eccubeConfig;
    }


バグと呼べるかどうかちょっと判断しかねますが、ご報告しておきます。

以下、念のため複数DBの接続設定をしたdoctrine.yamlも掲載しておきます。
○doctrine.yaml

parameters:
    # Adds a fallback DATABASE_URL if the env var is not set.
    # This allows you to run cache:warmup even if your
    # environment variables are not available yet.
    # You should not need to change this value.
    env(DATABASE_URL): ''
    env(DATABASE_SERVER_VERSION): ~
    env(V2_DATABASE_URL): ''
    env(V2_DATABASE_SERVER_VERSION): ~
doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver: 'pdo_sqlite'
                server_version: "%env(DATABASE_SERVER_VERSION)%"
                charset: utf8

                # for mysql only
                default_table_options:
                  collate: 'utf8_general_ci'

                # With Symfony 3.3, remove the `resolve:` prefix
                url: '%env(DATABASE_URL)%'
            v2:
                server_version: "%env(V2_DATABASE_SERVER_VERSION)%"
                charset: utf8

                # for mysql only
                default_table_options:
                  collate: 'utf8_general_ci'

                # With Symfony 3.3, remove the `resolve:` prefix
                url: '%env(V2_DATABASE_URL)%'

        # types
        types:
            datetime: 'Eccube\Doctrine\DBAL\Types\UTCDateTimeType'
            datetimetz: 'Eccube\Doctrine\DBAL\Types\UTCDateTimeTzType'
    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: default
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                connection: default
                auto_mapping: true
                dql:
                    string_functions:
                        NORMALIZE: Eccube\Doctrine\ORM\Query\Normalize
                    numeric_functions:
                        EXTRACT: Eccube\Doctrine\ORM\Query\Extract
                filters:
                    option_nostock_hidden:
                        class: Eccube\Doctrine\Filter\NoStockHiddenFilter
                        enabled: false
                    incomplete_order_status_hidden:
                        class: Eccube\Doctrine\Filter\OrderStatusFilter
                        enabled: false
            v2:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                connection: v2
                dql:
                    string_functions:
                        NORMALIZE: Eccube\Doctrine\ORM\Query\Normalize
                    numeric_functions:
                        EXTRACT: Eccube\Doctrine\ORM\Query\Extract
                filters:
                    option_nostock_hidden:
                        class: Eccube\Doctrine\Filter\NoStockHiddenFilter
                        enabled: false
                    incomplete_order_status_hidden:
                        class: Eccube\Doctrine\Filter\OrderStatusFilter
                        enabled: false

nyorai
投稿日時: 2019/2/4 9:57
対応状況: −−−
仙人
登録日: 2015/8/21
居住地:
投稿: 302
Re: SalesReport4 の不具合
ありがとうございます。修正方法はそれで問題ないと思います。
GItHubにもIssueをたてておきました。

https://github.com/EC-CUBE/sales-report-plugin/issues/44
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1283
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.