J'utilise le module développeur de thème pour le thème. Le module est assez bon, mais il est toujours très buggé. Y a-t-il une alternative moins buggy?
Pas vraiment.
Depuis la sortie de Drupal 7.33, il existe désormais un support simple pour la prise en charge de modèles alternatifs et la liste des alternatives de fonctions de thème dans Drupal (core) en ajoutant un paramètre dans settings.php
.
Ajout d'une variable "theme_hook_original" aux modèles et fonctions de thème et un mode de débogage de thème à l'échelle du site en option, pour fournir des informations contextuelles dans le code HTML de la page aux développeurs de thèmes. Le mode de débogage de thème est basé sur celui utilisé avec Twig dans Drupal 8 et est accessible en définissant la variable "theme_debug" sur TRUE (ajout d'API).
Ainsi, dans settings.php, vous définissez:
$conf['theme_debug'] = TRUE;
Ensuite, affichez la source de votre page et vous verrez des commentaires dans votre code HTML <!-- THEME DEBUG -->
qui répertorient les suggestions de fonctions et de modèles pour le nœud actuel.
Exemple de sortie pour /admin/structure/views
:
<!-- THEME DEBUG -->
<!-- CALL: theme('html') -->
<!-- FILE NAME SUGGESTIONS:
* html--admin--structure--views.tpl.php
* html--admin--structure.tpl.php
* html--admin.tpl.php
x html.tpl.php
-->
... lots of HTML ...
<!-- THEME DEBUG -->
<!-- CALL: theme('region') -->
<!-- FILE NAME SUGGESTIONS:
* region--page-top.tpl.php
x region.tpl.php
-->
<!-- THEME DEBUG -->
<!-- CALL: theme('toolbar') -->
<!-- BEGIN OUTPUT from 'modules/toolbar/toolbar.tpl.php' -->
Il s'agit d'un backport de la fonctionnalité d'aide de Drupal 8 Twig intégrée à Drupal 8 (en grande partie je suppose parce que devel_theme n'a pas de version Drupal 8).