Hej
Jeg har en visning af nogle produkter, som kommer fra et repository index. Der er blevet opsat at den skal sorteres efter værdien af et varefelt på produkter. I modul opsætningen er det under "Visning" og på "sorter efter" hvor jeg har valgt hvad der sorteres efter. Det er også her der laves en begrænsning på at vise kun 100 produkter af gangen.
Soteringen har 208 produkter, og derfor kan man trykke på at man gerne vil til side 1,2 og 3. Hvor at side 3 viser 8 produkter.
Sorteringen sker korrekt og der er sorteres fra første side til sidste side med de korrekte værdier.
Men!
Nu ønsker man at implementere noget special logik, der kan gå ind og sige at hvis et af disse varefelter er tomme, så skal hele sorteringen ske efter alfabetisk rækkefølge på navnet i stedet for.
Derfor har jeg nu lavet en Notification Subscriber på Dynamicweb.Notifications.eCommerce.ProductList.BeforePaging som successfuld implementere denne logik, og sorteringen sker efter alfabetisk rækkefølge.
Problemet opstår bare når man går til de andre sider, her kan man findeflere af de bogstaver som side 1 "kom forbi". I notification subsriberen kan jeg se at den kun får lov at sortere 100 produkter af gangen. Dvs at den formegentlig får listen med de 100 første produkter og sortere disse. Derefter får den på side 2, de næste 100 og sortere disse..
Det betyder at sorteringe hen over alle siderne ikke er konsistent.
Jeg har forsøgt mig med disse notification subscribere: Produclist.BeforePaging, ProductList.BeforeRender og ProductList.BeforeSort.
I alle tilfælde er det samme problem / det slet ikke virker.
Mit spørgsmål går på, hvad for en notification kan jeg subscribe til, således at jeg får fat i brutto listen altså de 208 produkter, så jeg kan sortere på alle produkterne konsistent, i stedet for kun at få 100 af gangen ?
Developer forum
E-mail notifications
Sortering af en allerede sorteret liste fra repository
Anders Ditlevsen
Posted on 16/11/2016 14:41:33
Replies
Nicolai Pedersen
Posted on 16/11/2016 15:29:45
This post has been marked as an answer
Hi Anders
In English please...
The short answer - you cannot do it like this.
The index only returns the product ids you need to make one page at a time. So no matter what notification you use, you will only see a collection of that one page.
I cannot think of a way to achieve this using the index sorting feature.
My only idea is to set the page size to 1000 and use the notifications you do now, and then in your Razor template handle the paging there. It will of course load way too much product data on the server, but if this way of working is important, that is the only option I see.
BR Nicolai
Votes for this answer: 1
Anders Ditlevsen
Posted on 17/11/2016 08:26:25
Thank you for your reply.
I'll remember to post in english henceforth
You must be logged in to post in the forum