EC-CUBE4で商品一覧を更新日時順で並べ替える方法です。
最初に、管理画面>設定>システム設定>マスターデータ管理の「mtb_product_list_order_by」に更新日時順を追加してください。IDは4としてください。
次にCusotomizeディレクトリ内にRepositoryディレクトリを設置してください。
そして以下のようにProductOrderByUpdate.phpを作成してRepository内に設置してください。
<?php namespace Customize\Repository; use Eccube\Doctrine\Query\QueryCustomizer; use Eccube\Repository\QueryKey; use Doctrine\ORM\QueryBuilder; /** * Description of ProductOrderByUpdated * * @author Akira Kurozumi <info@a-zumi.net> */ class ProductOrderByUpdate implements QueryCustomizer { public function customize(QueryBuilder $builder, $params, $queryKey) { if(!empty($params["orderby"]) && $params["orderby"]->getId() == 4) { $builder->orderBy('p.update_date', 'DESC'); } } public function getQueryKey(): string { return QueryKey::PRODUCT_SEARCH; } }
以上で完成です。