Falsche Preissortierung bei Artikellisten mit "normalen" und Vater-Produkten

http://vcm24.vcm-gruppe.de/Computer-/Einzel-PCs/?ldtype=line&_artperpage=12&pgNr=0&cl=alist&searchparam=&cnid=651&listorderby=oxvarminprice&listorder=asc

Bei dieser Liste stimmt die Preissortierung nicht…

Anscheinend werden “normale” und Vaterartikel (“ab”-Preise) separat sortiert/gelistet.

Bzw. die “normalen” Artikel werden gar nicht sortiert…

Bekannt?

Gelöst?

Moin avenger,

dabei stimmen aber anscheinend nur die ersten (oder letzten) drei Artikel nicht.
Alle anderen werden sowohl auf- als auch absteigend korrekt sortiert.
Worin unterscheiden sich die drei Artikel denn von den anderen?

Beste Grüsse

Thomas

[QUOTE=Tom Long;91500]Worin unterscheiden sich die drei Artikel denn von den anderen?[/QUOTE]Das sind “normale” Artikel, die anderen (mit den “ab”-Preisen) sind Artikel mit Varianten.

[QUOTE=avenger;91518]Das sind “normale” Artikel, die anderen (mit den “ab”-Preisen) sind Artikel mit Varianten.[/QUOTE]Ich habe das mal debugged…

Und es ist tatsächlich so, wie ich schon vermutet habe: die Artikel werden (nur) nach ihrem [B]Variantenpreis(!) [/B]sortiert…

Folgend ist das vom Shop generierte SQL, das die Artikel selektiert:

SELECT 
    oxv_oxarticles_de.oxid,
    oxv_oxarticles_de.oxparentid,
    oxv_oxarticles_de.oxvarstock,
    oxv_oxarticles_de.oxstock,
    oxv_oxarticles_de.oxvarcount,
    oxv_oxarticles_de.oxprice,
    oxv_oxarticles_de.oxskipdiscounts,
    oxv_oxarticles_de.oxvat,
    oxv_oxarticles_de.oxunitquantity,
    oxv_oxarticles_de.oxshopid,
    oxv_oxarticles_de.oxstocktext,
    oxv_oxarticles_de.oxvarname,
    oxv_oxarticles_de.oxtprice,
    oxv_oxarticles_de.oxinsert,
    oxv_oxarticles_de.oxtitle,
    oxv_oxarticles_de.oxartnum,
    oxv_oxarticles_de.oxthumb,
    oxv_oxarticles_de.oxpic1,
    oxv_oxarticles_de.oxweight,
    oxv_oxarticles_de.oxbullet,
    oxv_oxarticles_de.oxtimestamp,
    oxv_oxarticles_de.oxvarselect,
    oxv_oxarticles_de.oxmpn,
    oxv_oxarticles_de.oxshortdesc,
    oxv_oxarticles_de.oxvarminprice 
FROM 
    oxobject2category as oc 
        LEFT JOIN oxv_oxarticles_de ON oxv_oxarticles_de.oxid = oc.oxobjectid
WHERE 
    (  oxv_oxarticles_de.oxactive = 1  ) AND 
    oxv_oxarticles_de.oxparentid = '' AND 
    oc.oxcatnid = '651'  
GROUP BY 
    oc.oxcatnid,
    oc.oxobjectid 
ORDER BY  
    oxvarminprice asc ,
     oc.oxpos,
    oc.oxobjectid 

Da “ORDER BY” nach [B]oxvarminprice [/B]geschieht, und die “normalen” Artikel keinen [B]oxvarminprice[/B] haben, werden diese an den Anfang/das Ende der Artiklelliste sortiert…

[QUOTE=avenger;91519]Da “ORDER BY” nach [B]oxvarminprice [/B]geschieht, und die “normalen” Artikel keinen [B]oxvarminprice[/B] haben, werden diese an den Anfang/das Ende der Artiklelliste sortiert…[/QUOTE]Folgende “ORDER BY”-Variante liefert das gewünschte Ergebnis:

ORDER BY  
    IF (oxvarminprice, oxvarminprice, oxprice) ASC,
     oc.oxpos,
    oc.oxobjectid 

Habe einen Bug-Report erstellt: https://bugs.oxid-esales.com/view.php?id=4080