View Issue Details

IDProjectCategoryView StatusLast Update
0003086OXID eShop (all versions)1.01. Products (product, categories, manufacturer, promotions etc.)public2012-12-07 14:13
Status resolvedResolutionfixed 
PlatformallOSallOS Versionall
Product Version4.5.0 revision 34568 
Target VersionFixed in Version4.5.1 revision 38045 
Summary0003086: Activated "fast sorting" for categories breaks frontend category lists in foreign languages
DescriptionIf 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 ReproduceYou can see this error in oxid demoshop

Go to admin -> administer products -> categories

Select categories "kites" and set "fast sorting" to "title" and save.

Go to frontend and browse to:

You see 12 products.

Switch to English language.

You see 0 products.

Additional InformationI believe someone posted this error in:

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.

PHP Versionany
Database Versionany


Linas Kukulskis

2011-07-26 13:30

reporter   ~0004888

removed view name from fast sorting