البحث (Search)
البحث عن منتجات
GET /ajax/search/products
المعاملات:
| المعامل | النوع | الوصف |
|---|---|---|
q | string | استعلام البحث |
minPrice | number | الحد الأدنى للسعر |
maxPrice | number | الحد الأقصى للسعر |
collectionId | string | تصفية حسب المجموعة |
minRating | number | الحد الأدنى للتقييم (1-5) |
sort | string | ترتيب الفرز |
خيارات الفرز:
rating-asc/rating-descprice-asc/price-desccreated-asc/created-desc
مثال:
GET /ajax/search/products?q=House&minPrice=25&maxPrice=500&collectionId=6793f5bea1f27ed3027ec202&minRating=2&sort=rating-asc
اقتراحات البحث
GET /ajax/search/suggest
المعاملات:
| المعامل | النوع | الوصف |
|---|---|---|
q | string | استعلام البحث |
resources[type] | string | أنواع الموارد (مفصولة بفواصل) |
resources[limit] | number | حد النتائج |
أنواع الموارد: product, collection
مثال:
GET /ajax/search/suggest?q=House&resources[type]=product,collection&resources[limit]=5
مثال JavaScript
async function searchProducts(query, filters = {}) {
const params = new URLSearchParams({ q: query, ...filters });
const res = await fetch(`/ajax/search/products?${params}`);
return res.json();
}
async function getSuggestions(query, limit = 5) {
const params = new URLSearchParams({
q: query,
'resources[type]': 'product,collection',
'resources[limit]': limit
});
const res = await fetch(`/ajax/search/suggest?${params}`);
return res.json();
}