2011-02-15 3 views
1

Je cherche un moyen rapide d'afficher un fichier modèle particulier en fonction de la langue actuelle de la page.Inclure des modèles basés sur la langue actuelle avec drupal

Disons que j'ai deux langues: anglais et français (l'anglais étant la valeur par défaut)

J'ai différents fichiers de modèles, comme: page.tpl.php la page nœud-11.tpl.php dans mon répertoire thématique .

Je voudrais trouver un moyen d'inclure ces fichiers en fonction des langues actuelles; Par exemple, si la langue courante est 'anglais', elle inclura 'page.tpl.php', si la langue courante est 'français', elle inclura 'fr/page.tpl.php'.

Je suis sûr que c'est assez simple, mais ne peut pas comprendre comment; dans template.php?

Merci pour toute aide.

Répondre

2

En supposant que vous utilisez le Internationalization module, plutôt que de changer le modèle par langue, vous pouvez envisager de tirer parti du CSS class set on the body tag. J'ai déjà utilisé cette technique sur des sites auparavant et c'était plus facile que de traiter un autre fichier modèle. Si vous n'utilisez pas le module i18n, vous pouvez toujours ajouter la classe body dans une fonction preprocess_page.

Si une classe de corps ne fonctionne pas pour vous, vous pouvez consulter the patch à partir du problème ci-dessus pour obtenir un exemple d'ajout de la langue au tableau de variables pendant le prétraitement. Ensuite, voir le Working with template suggestions handbook page pour savoir comment ajouter des suggestions de modèles en fonction des informations de langue nouvellement ajoutées.

Questions connexes