- Issue created by @dcam
This is a follow-up issue to π Class active-trail not added to li element when linking to front page Needs work .
Fixing the other issue introduced a performance penalty for the front page because an extra query had to be run in the menu system to check for link items matching <front>
. This could be avoided if we had the ability to load menu links for multiple route names instead of just one at a time. Per @larowlan:
I don't think we can avoid the extra queries because we only have \Drupal\Core\Menu\MenuLinkManager::loadLinksByRoute and \Drupal\Core\Menu\MenuTreeStorageInterface::loadByRoute but I think it would be worth adding loadLinksByRoutes and loadByRoutes methods to both those services to support doing this in a single query.
@catch agreed that this task could be done in a follow-up issue.
\Drupal\Core\Menu\MenuLinkManager::loadLinksByRoutes
.\Drupal\Core\Menu\MenuTreeStorageInterface::loadByRoutes
.\Drupal\Core\Menu\MenuActiveTrail::getActiveLink()
to use loadLinksByRoutes() for better performance.Two new functions, one in MenuLinkManager
and another in MenuTreeStorageInterface
.
Active
11.0 π₯
menu system