新着情報

2016/07/19 商品一覧を最初から新着順の30件にする
ソーシャルボタン で問い合わせがあった qooza 様(EC-CUBEはリリース前なので楽天サイトのリンク)から
「商品一覧ページで最初から新着順の30件にしたいのですが・・・。」 と追加でご相談を受けました。

調べてみたら予想通り、管理画面から修正できる部分では対応できなくてソースコードを修正する必要がありました。

先ず、ftp で src/Eccbe/Controller/ProductController.php をダウンロードします。
テキストエディタを使って、54行目辺りにある
// handleRequestは空のqueryの場合は無視するため
if ($request->getMethod() === 'GET') {
$request->query->set('pageno', $request->query->get('pageno', ''));
}
の部分に
// handleRequestは空のqueryの場合は無視するため
if ($request->getMethod() === 'GET') {
$request->query->set('pageno', $request->query->get('pageno', ''));
$request->query->set('disp_number', $request->query->get('disp_number', 30));
$request->query->set('orderby', $request->query->get('orderby', 2));
}
上の2行を追加します。
この2行がないと初期値が設定されないので、引数が無い場合に最初の選択肢 15件・新着順 になります。

2行を追加すると、引数がない場合に設定した値が初期値として使われるようになります。
disp_number が表示件数で 15, 30, 50 が設定できます。
orderby は表示順で 1 が価格順、2 が新着順です。

もちろん引数が指定されている場合は、渡される値が有効になります。

追加したソースコードをまたサイトの同じところにアップロードします。
修正前のソースをバックアップしておいた方がいいかもしれません。

設定する値はサイトに合わせて変えてみてください。