自分用のメモ程度です。
ECCUBE4系を利用しているのですが、商品コードで検索したいとの要望があったので実施。
フォームを増やしたりするのは面倒なので、現状の詳細検索→購入商品名を商品コードにも対応させる方法で進めました。
変更箇所は1箇所のみで、
/src/Eccube/Repository/OrderRepository.php
に OR oi.product_code LIKE :buy_product_nameを追加すれば完了です。
// buy_product_name
if (isset($searchData['buy_product_name']) && StringUtil::isNotBlank($searchData['buy_product_name'])) {
$qb
->andWhere('oi.product_name LIKE :buy_product_name OR oi.product_code LIKE :buy_product_name')//ここに追加
->setParameter('buy_product_name', '%'.$searchData['buy_product_name'].'%');
}