View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006250 | OXID eShop (all versions) | 4.08. Cache | public | 2015-10-30 10:52 | 2024-03-06 08:37 |
Reporter | elisabeth_heckmann | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | acknowledged | Resolution | open | ||
Product Version | 4.8.6 / 5.1.6 | ||||
Summary | 0006250: Content Cache: each order resets whole cache if oxstock of parent article is 0 | ||||
Description | If you use Dynamic Content Caching together with active stock management every order of a variant leads to a call $oCache->reset(); if stock of parent product is 0. This is (in most cases) independent from Delivery Status (oxstockflag), buyable/not buyable parent product, and also independent from variant stock. The reason is application/models/oxarticle.php:4870 (EE 5.1.6) if ($this->oxarticles__oxstockflag->value == 2 && $iOldStock xor $iStock) leads (for example) to true and calls $this->_onChangeResetCounts if oxstockflag != 2 iOldStock (oxstock from parent) = 0 iStock (oxvarstock from parent) > 0 this leads in a 5.1.6 to $oCache->reset(); In my opinion this statement doesn't make sense. This statement results in TRUE if: $iStock is true and ($this->oxarticles__oxstockflag->value == 2 && $iOldStock) is false or $iStock is false and ($this->oxarticles__oxstockflag->value == 2 && $iOldStock) is true I think a cache reset in case of not buyable parent should only take place if oxstockflag == 2 and iStock = 0 independent from parent stock | ||||
Steps To Reproduce | - enable Dynamic Content Cache - enable stock management - set oxstock 0 for a parent article - leave oxstockflag - navigate in shop to get some pages cached- enable Dynamic Content Cache - enable stock management - set oxstock 0 for a parent article - leave oxstockflag for example "Standard" - navigate in shop to get some pages cached - Buy a variant product where parent has oxstock 0 - after order finishing whole cache is reseted This behavior could also be reproduced in a EE 5.2.5 reason seems to be the same but code in $this->_onChangeResetCounts is different. - Buy a varinat product where parent has oxstock 0 - after order finishing whole cache is reseted | ||||
Tags | Cache, EE | ||||
Theme | Not defined | ||||
Browser | Not defined | ||||
PHP Version | Not defined | ||||
Database Version | Not defined | ||||