View Issue Details

IDProjectCategoryView StatusLast Update
0007815OXID eShop (all versions)4.05. Performancepublic2025-07-30 12:22
Reportermichael_keiluweit Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version7.3.0 
Summary0007815: EE: Performance Option "Do not display empty Categories ...." has negative impact to the ThankYou page
DescriptionWith the Default Cache Backend, Dynamic Content Cache, and the performance option "Do not display empty categories (categories without subcategories or products)" enabled, the final checkout page (Thank You page) reloads every available category in the shop, which can result in page load times of up to 30 seconds.
Steps To Reproduce1. Install EE 7.3
2. Activate Default Cache Backend
3. Activate Dynamic Content Cache
4. Activate the performance option Do not display empty categories (categories without subcategories or products)
5. Have massive amounts of categories or log the executed queries of OxidEsales\EshopCommunity\Core\UtilsCount::setCatArticleCount.
Additional Information
OxidEsales\EshopCommunity\Application\Model\CategoryList->buildTree (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Application/Model/CategoryList.php:318)
OxidEsales\EshopCommunity\Application\Component\CategoriesComponent->loadCategoryTree (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Application/Component/CategoriesComponent.php:150)
OxidEsales\EshopCommunity\Application\Component\CategoriesComponent->init (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Application/Component/CategoriesComponent.php:79)
OxidEsales\EshopCommunity\Application\Controller\FrontendController->init (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/FrontendController.php:513)
OxidEsales\EshopCommunity\Application\Controller\OrderController->init (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/OrderController.php:130)
OxidEsales\EshopCommunity\Core\ShopControl->initializeViewObject (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php:357)
OxidEsales\EshopCommunity\Core\ShopControl->process (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php:237)
OxidEsales\EshopCommunity\Core\ShopControl->start (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php:124)
OxidEsales\EshopCommunity\Core\Oxid::run (/var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Core/Oxid.php:27)
{main} (/var/www/oxideshop/source/index.php:16)



Cause: OxidEsales\EshopCommunity\Application\Model\Category::getIsVisible
    public function getIsVisible()
    {
        if (!isset($this->_blIsVisible)) {
            if (\OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('blDontShowEmptyCategories')) { // <-- that slows down 
                $blEmpty = ($this->getNrOfArticles() < 1) && !$this->getHasVisibleSubCats();
            } else {
                $blEmpty = false;
            }

            $this->_blIsVisible = !($blEmpty || $this->oxcategories__oxhidden->value);
        }

        return $this->_blIsVisible;
    }
TagsCategory, EE, Perfomance
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Relationships

related to 0005804 confirmedHR Performance option "Do not display empty Categories" has side effects 
related to 0004980 resolvedLinas Kukulskis buildTree / assignArray very slow 
has duplicate 0007814 closedmichael_keiluweit EE: Performance Option "Do not display empty Categories ...." has negative impact to the search- and ThankYou page 

Activities

QA

2025-07-30 12:22

administrator   ~0018132

Acknowledge,
Even with a few Categories you can profile a different time.

QA -SG-