Bonjour,
Tu peux utiliser la fonction render pour intégrer un controleur (qui va générer ton menu catégories) dans ton layout de base:
https://symfony.com/doc/current/templates.html#embedding-controllers
Tu pourras ensuite utiliser du cache pour éviter des appels systématiques à la BDD, notamment en utilisant le cache ESI :
https://symfony.com/doc/current/http_cache/esi.html#using-esi-in-symfony