バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > リポジトリのカスタマイズで検索条件を追加する方法

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
jacopen
投稿日時: 2020/1/17 13:15
対応状況: −−−
常連
登録日: 2008/7/7
居住地:
投稿: 40
Re: リポジトリのカスタマイズで検索条件を追加する方法
引用:

そうなります。例えばSearchOrderTypeをExtensionで拡張して項目を追加して検索画面に表示してやれば、QueryCustomizerで絞り込み可能です。


ありがとうございます!
アドバイスいただいた方法で挑戦してみます!!
umebius
投稿日時: 2020/1/16 23:41
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: リポジトリのカスタマイズで検索条件を追加する方法
>『FormType』のカスタマイズも行うということでしょうか?
そうなります。例えばSearchOrderTypeをExtensionで拡張して項目を追加して検索画面に表示してやれば、QueryCustomizerで絞り込み可能です。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

jacopen
投稿日時: 2020/1/16 18:36
対応状況: −−−
常連
登録日: 2008/7/7
居住地:
投稿: 40
Re: リポジトリのカスタマイズで検索条件を追加する方法
返信が遅くなりすみません。
また、アドバイスいただきありがとうございます。

引用:

また、既存の購入商品名を使用する場合、すでにOrderRepository::getQueryBuilderBySearchDataForAdminで下記のようにoi.product_name LIKE :buy_product_nameと言う条件が追加されてしまっています。
記載いただいたコードのようにandWhereでつないでもその条件がなくなるわけではないので、ヒットしません。


そういうことだったんですね。
追記すれば良いと簡単に考えていました。


引用:
この場合は、「商品コード」専用のフォームを作る方法が簡単だと思います。


別途「商品コード」の検索入力を用意するには、
『FormType』のカスタマイズも行うということでしょうか?

umebius
投稿日時: 2020/1/15 23:59
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: リポジトリのカスタマイズで検索条件を追加する方法
受注一覧だとQueryKey::PRODUCT_SEARCH_ADMINではなく
QueryKey::ORDER_SEARCH_ADMINだと思います。

また、既存の購入商品名を使用する場合、すでにOrderRepository::getQueryBuilderBySearchDataForAdminで下記のようにoi.product_name LIKE :buy_product_nameと言う条件が追加されてしまっています。

記載いただいたコードのようにandWhereでつないでもその条件がなくなるわけではないので、ヒットしません。

この場合は、「商品コード」専用のフォームを作る方法が簡単だと思います。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

jacopen
投稿日時: 2020/1/15 18:16
対応状況: −−−
常連
登録日: 2008/7/7
居住地:
投稿: 40
リポジトリのカスタマイズで検索条件を追加する方法
[EC-CUBE]4.0.3

受注管理:一覧画面の詳細検索の「商品名」入力欄で「商品コード」でも検索できるようにしたく、
こちらのサイトを参考に、リポジトリのカスタマイズに挑戦しています。
https://a-zumi.net/eccube4-admin-product-tag-search-customizer/

Customizeディレクトリに「Doctrine/Query」ディレクトリを作成し、その中にカスタマイズ用の
ファイルを作成しましたが、反映されていないようです。

作成したコードを抜粋します。
間違っていたり、何かが足りない箇所はありますでしょうか?
アドバイスいただけると嬉しいです。

namespace Customize\Doctrine\Query;

use Eccube\Doctrine\Query\QueryCustomizer;
use Eccube\Doctrine\Query\WhereClause;
use Eccube\Repository\QueryKey;
use Doctrine\ORM\QueryBuilder;

class Admin*****Customizer implements QueryCustomizer {

public function customize(QueryBuilder $builder, $params, $queryKey)
{
if ($params['buy_product_name']) {
$builder->andWhere('oi.product_name LIKE :buy_product_name OR oi.product_code LIKE :buy_product_name')
->setParameter('buy_product_name', '%'.$params['buy_product_name'].'%');
}
}

public function getQueryKey(): string
{
return QueryKey::PRODUCT_SEARCH_ADMIN;
}
}
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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.