バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品おすすめ順プラグインでシステムエラー

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2020/1/20 13:14
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
商品おすすめ順プラグインでシステムエラー
EC-CUBE 3.0.16
商品おすすめ順プラグイン 1.0.0

カテゴリを選択している状態で「おすすめ順」すると正常に動作するのですが、全商品検索で「おすすめ順」するとシステムエラーになります。

ログを見ると次のエラーが出ていました。
Doctrine\ORM\ORMException: The identifier id is missing for a query of Eccube\Entity\Category (uncaught exception)

クエリは次のとおりです。
/products/list?mode=&category_id=&name=&pageno=1&disp_number=15&orderby=5&tag_id=

解決方法わかりますでしょうか?
nanasess
投稿日時: 2020/1/21 18:41
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 商品おすすめ順プラグインでシステムエラー
おそらく、 通常は EntityManager::find() でカテゴリIDを指定しているのですが、全商品になった場合にカテゴリIDが null で渡っているのだと思います。

findBy() にしてあげたら、うまく動きませんかね??
h_tanaka
投稿日時: 2020/1/21 19:09
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: 商品おすすめ順プラグインでシステムエラー
nanasess さん

なるほど!
findBy でうまくいきました。
ありがとうございます。

app/Plugin/ProductPriority/ProductPriorityEvent.php
onProductIndexSearch() 内

■変更前
            $Category = $this->app['eccube.repository.category']->find($searchData['category_id']);


■変更後
            $Categories = $this->app['eccube.repository.category']->findBy(['id' => $searchData['category_id']]);
            if (count($Categories) == 1) {
                $Category = $Categories[0];
            }


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

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.