Ajax-filtrering
Teknisk dokumentation for Shoporamas /ajax endpoint til filtrering af produkter. For udviklere.
Alle Shoporama-shops har et /ajax-endpoint, der returnerer produkter i JSON-format. Det gør det muligt at hente og filtrere produkter dynamisk med JavaScript — uden at genindlæse hele siden.
Hvad er /ajax-endpointet?
Endpointet /ajax returnerer produkter baseret på de parametre, du sender med. Du kan filtrere på kategori, ekstrafelter, pris, tags og meget mere.
Grundlæggende brug
Et simpelt AJAX-kald til at hente produkter fra en kategori:
fetch('/ajax?category_id=123')
.then(response => response.json())
.then(data => {
// data.products indeholder produkterne
// data.count indeholder det totale antal
});
Tilgængelige parametre
| Parameter | Beskrivelse |
|---|---|
category_id | Filtrér efter kategori-ID |
tag | Filtrér efter tag |
extra_field[felt]=værdi | Filtrér efter ekstrafelter |
price_from / price_to | Prisinterval |
sort | Sortering (fx price_asc, price_desc, name) |
limit / offset | Pagination |
Eksempel: Filtrering med ekstrafelter
// Hent røde produkter i kategori 123, sorteret efter pris
fetch('/ajax?category_id=123&extra_field[farve]=rød&sort=price_asc')
.then(response => response.json())
.then(data => {
data.products.forEach(product => {
console.log(product.name, product.price);
});
});
Implementering i dit tema
For at bygge en komplet filtreringsoplevelse skal din udvikler:
- Oprette filter-UI med checkboxes/dropdowns baseret på tilgængelige ekstrafelter
- Lytte på ændringer i filtrene
- Kalde
/ajaxmed de valgte parametre - Opdatere produktlisten dynamisk med de returnerede data
Tip
Læs mere om filtrering generelt i vores artikel Filtrering på din webshop.
Har du brug for hjælp? Kontakt os på support@shoporama.dk.