From 9e1321f7e35a58ba8ce136401a217d835aef15f0 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 23 Nov 2022 17:01:47 +0700 Subject: Search Order by nextjs indoteknik --- src/pages/api/shop/search.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/pages/api') diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js index 9cd3d4ba..2d26205d 100644 --- a/src/pages/api/shop/search.js +++ b/src/pages/api/shop/search.js @@ -44,9 +44,23 @@ export default async function handler(req, res) { brand = '', category = '', price_from = 0, - price_to = 0 + price_to = 0, + order_by = '' } = req.query; + let paramOrderBy = ''; + switch (order_by) { + case 'price-asc': + paramOrderBy = ', price_discount ASC'; + break; + case 'price-desc': + paramOrderBy = ', price_discount DESC'; + break; + case 'popular': + paramOrderBy = ', search_rank DESC'; + break; + } + let limit = 30; let offset = (page - 1) * limit; let parameter = [ @@ -59,7 +73,7 @@ export default async function handler(req, res) { 'facet.field=category_name_str', `start=${offset}`, `rows=${limit}`, - 'sort=product_rating desc', + `sort=product_rating DESC ${paramOrderBy}`, `fq=price_discount:[${price_from == 0 ? '*' : price_from} TO ${price_to == 0 ? '*' : price_to}]` ]; -- cgit v1.2.3