View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004464 | OXID eShop (all versions) | 2.4. Administer products | public | 2012-08-28 19:45 | 2023-11-20 10:01 |
Reporter | cpjolly | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | confirmed | Resolution | open | ||
Product Version | 4.0.0.0 revision 13895 | ||||
Summary | 0004464: oxidadminlist->buildWhere too simplistic for imported category OXIDs | ||||
Description | This bug exists in all versions of OXID 4.x.x If you import categories from an external ERP, the category Ids may not be pseudo-random. In our case, the category OXIDs are for example C1, C2, ... C20, C21, ... C200, C201, ... If this is the case, then the function buildWhere() in oxidadminlist.php will not work correctly. For example, in the category admin view, if you filter the list by selecting a category with the OXID = C20, all child categories with OXPARENTID = C20, C200, C201 will be displayed rather than just child categories with OXPARENTID = C20. This is because buildWhere encloses the OXID with % wildcards: oxidadminlist.php Line 528: $this->_aWhere[$sName] = "%{$sValue}%"; Not sure why the % wildcards are necessary. If they are not, then the resolution is to remove them. Note: we are not using the OXID SOAP interface - we have our own ERP interface. | ||||
Steps To Reproduce | Create three categories and use phpmyadmin to set their OXIDs = C20, C200, C201 Create some child categories for each of these categories Filter the admin category list by selecting the category with the OXID = C20 from the dropdown. All child categories with OXPARENTID = C20, C200, C201 will be displayed rather than just child categories with OXPARENTID = C20. | ||||
Tags | Category, Import | ||||
Attached Files | |||||
Theme | Not defined | ||||
Browser | All | ||||
PHP Version | Not defined | ||||
Database Version | Not defined | ||||