I wanted to write a blog post about the stack of the category and navigation route, but this draft is now laying around for months and I just looked it up, so to at least help you a little bit, here is the stack and the ProductListingLoader
is where the products are loaded 🙂
\Shopware\Storefront\Controller\NavigationController \Shopware\Storefront\Page\Navigation\NavigationPageLoader::load \Shopware\Core\Content\Category\SalesChannel\CategoryRoute::load \Shopware\Core\Content\Cms\SalesChannel\SalesChannelCmsPageLoader::load \Shopware\Core\Content\Cms\DataResolver\CmsSlotsDataResolver::resolve \Shopware\Core\Content\Product\Cms\ProductListingCmsElementResolver::enrich \Shopware\Core\Content\Product\SalesChannel\Listing\ProductListingRoute::load \Shopware\Core\Content\Product\SalesChannel\Listing\ProductListingLoader::load