View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003086 | OXID eShop (all versions) | 1.01. Products (product, categories, manufacturer, promotions etc.) | public | 2011-07-25 17:08 | 2012-12-07 14:13 |
Reporter | henrik.steffen | Assigned To | |||
Priority | urgent | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | all | OS | all | OS Version | all |
Product Version | 4.5.0 revision 34568 | ||||
Fixed in Version | 4.5.1 revision 38045 | ||||
Summary | 0003086: Activated "fast sorting" for categories breaks frontend category lists in foreign languages | ||||
Description | If you enable "fast sorting" by price, title or whatever for a category, this will work only in shop frontend only for the shop main language. If you switch to an alternative language, the category list is empty. No products will be shown. An invalid sql query is formed, which will always produce an error. | ||||
Steps To Reproduce | You can see this error in oxid demoshop http://demoshop.oxid-esales.com/professional-edition/ Go to admin -> administer products -> categories Select categories "kites" and set "fast sorting" to "title" and save. Go to frontend and browse to: http://demoshop.oxid-esales.com/professional-edition/Kiteboarding/Kites/ You see 12 products. Switch to English language. You see 0 products. | ||||
Additional Information | I believe someone posted this error in: https://bugs.oxid-esales.com/view.php?id=1858 However, I can't see that it has been fixed anywhere yet. The error is still reproducable in OXID demoshop. An invalid SQL query is formed like this: SELECT oxv_oxarticles_en.oxid, oxv_oxarticles_en.oxparentid, oxv_oxarticles_en.oxvarstock, oxv_oxarticles_en.oxvarcount, oxv_oxarticles_en.oxstock, oxv_oxarticles_en.oxstockflag, oxv_oxarticles_en.oxprice, oxv_oxarticles_en.oxvat, oxv_oxarticles_en.oxskipdiscounts, oxv_oxarticles_en.oxunitquantity, oxv_oxarticles_en.oxshopid, oxv_oxarticles_en.oxtitle, oxv_oxarticles_en.oxvarselect, oxv_oxarticles_en.oxthumb, oxv_oxarticles_en.oxmanufacturerid, oxv_oxarticles_en.oxtprice, oxv_oxarticles_en.oxweight, oxv_oxarticles_en.oxvarname, oxv_oxarticles_en.oxinsert, oxv_oxarticles_en.oxtimestamp, oxv_oxarticles_en.oxactive, oxv_oxarticles_en.oxpicsgenerated FROM oxobject2category as oc left join oxv_oxarticles_en ON oxv_oxarticles_en.oxid = oc.oxobjectid WHERE ( oxv_oxarticles_en.oxactive = 1 and ( oxv_oxarticles_en.oxstockflag != 2 or ( oxv_oxarticles_en.oxstock + oxv_oxarticles_en.oxvarstock ) > 0 ) and IF( oxv_oxarticles_en.oxvarcount = 0, 1, ( select 1 from oxv_oxarticles_en as art where art.oxparentid=oxv_oxarticles_en.oxid and ( art.oxactive = 1 ) and ( art.oxstockflag != 2 or art.oxstock > 0 ) limit 1 ) ) ) and oxv_oxarticles_en.oxparentid = '' and oc.oxcatnid = '351c418af21bfadcb595c91382b30466' GROUP BY oc.oxcatnid, oc.oxobjectid ORDER BY oxv_oxarticles_de.oxinsert desc , oc.oxpos, oc.oxobjectid The problem is the ORDER BY oxv_oxarticles_de.oxinsert desc The view oxv_oxarticles_de in the order by clause is not part of the FROM-clause. | ||||
Tags | Category | ||||
Theme | Both | ||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||