Currently we have as suggestions:
$variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->region;
$variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->module;
$variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->module . '__' . $variables['block']->delta;
If we use block--menu.tpl.php one would think this applies to all menu blocks, but alas this is not so, only to Menu module blocks - but there are 4 menus not generated by menu module - user menu, main menu, navigation and management menus.
IMO this is a pita when theming, I have to force those menus to use block--menu.tpl.php, it would be good if core simply did this rather than having to using multiple template overrides or force your own suggestion for these non-menu-module menus.
Comments
Comment #1
bcreeves commentedI second this suggestion. I've been trying to figure out why my block--menu.tpl.php was not applying to the main menu.
Comment #2
jenlampton+1 for this idea. I think the problem is that for some reason system module is providing the blocks for menus, instead of menu module. If menu module provided the menu blocks we could also solve this problem
see #1445598: Move menu blocks into menu module (out of system.module)
Comment #3
cweagansUpdating tags per http://drupal.org/node/1517250
Comment #15
smustgrave commentedClosing out as outdated as tpl.php files are not used for the rendering in D9 but instead twig.