Changer un theme par programmation

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

J'essaye depuis quelques temps de changer un theme drupal directement via PHP, pas via un module du genre taxonomy theme.

Mon but étant de détecter la navigateur du visiteur. Si il a la navigateur X, charger le theme X. Si il a le navigateur Y, charger le theme Y.

Je n'ai pas réussi à trouver dans la doc de drupal une explication sur le chargement d'un thème et comment faire cela, donc si vous avez des pistes à donner je suis preneur.

D'avance merci

Version de Drupal : 

Pourquoi ne pas regarder comment c'est fait dans taxonomy_theme, par exemple ?

En substance:

<?php
$GLOBALS
['custom_theme'] = "<nouveau theme>";
init_theme();
?>

Mais il faut le faire assez tôt. Dans un module, le mieux c'est de le faire dans la branche $may_cache = false du hook_menu().