EC-CUBE4の管理画面の商品一覧でショップ用メモ検索できるようにする方法

EC-CUBE4の管理画面の商品一覧でショップ用メモ検索できるようにする方法です。

まずCusotomizeディレクトリ内にDoctrine/Queryディレクトリを設置してください。

次に以下のようにAdminProductNoteSearchCustomizer.phpを作成してQuery内に設置してください。

<?php

namespace Customize\Repository;

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

/**
 * 管理画面の商品一覧でショップ用メモを検索できるようにする
 *
 * @author Akira Kurozumi <info@a-zumi.net>
 */
class AdminProductNoteSearchCustomizer implements QueryCustomizer {

    public function customize(QueryBuilder $builder, $params, $queryKey)
    {
        if ($params['id']) {
            // QueryBuilderに対してショップ用メモを検索対象するように設定
            $builder->orWhere("p.note LIKE :note");
            $builder->setParameter("note", '%'.$params['id'].'%');
        }
    }

    public function getQueryKey(): string
    {
        return QueryKey::PRODUCT_SEARCH_ADMIN;
    }

}

以上で完成です。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください