メーカープラグインを導入した場合、メーカー名で商品を絞り込みたくなることがあると思います。
この検索を実現するにはプラグインのテーブルを商品のテーブルにjoinします。
メーカープラグインはProductMakerとMakerというエンティティクラスを保有しており、これらのクラスを使用して商品を絞り込むにはQueryBuilderを用いて次のように書きます。
※プラグインのフックポイントを用いるか、ProductRepositoryのgetQueryBuilderBySearchData()というメソッドに直接記載してください。
$maker_name = "メーカー名"; $qb ->innerJoin('Plugin\Maker\Entity\ProductMaker', 'pm', 'WITH', 'p.id = pm.id') ->innerJoin('pm.Maker', 'm') ->andWhere('m.name LIKE :maker_name') ->setParameter('maker_name', '%'.$maker_name.'%');
$naker_nameという変数にメーカー名が入っていますので、これをフォームから取得するなどすれば、ユーザーがほしいメーカーの商品を自分で検索できるようになります。
ユーザーの利便性を高めるには必須のカスタマイズかと思います。
プラグインがインストールされているかどうかのチェックを行う必要がある場合は、こちらの記事も参考にしてください。
プラグインがインストールされているかどうか確認する方法
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。