2011-02-15 40 views
1

我正在寻找一种基于当前页面语言显示特定模板文件的快速方法。在drupal中包含基于当前语言的模板

比方说,我有两种语言:英语和法语(英语是默认设置)

我有不同的模板文件,如:page.tpl.php中的页面节点11.tpl.php在我的主题目录。

我想找出一种方法来包含基于当前语言的这些文件;例如,如果当前语言为“英语”,则其将包括“page.tpl.php”,如果当前语言为“法语”,则其将包括“fr/page.tpl.php”。

我敢肯定,它非常简单,但无法弄清楚如何;在template.php?

感谢您的任何帮助。

回答

2

假设您使用的是Internationalization module,而不是更改每种语言的模板,您可能需要考虑利用CSS class set on the body tag。我之前在网站上使用过这种技术,比处理另一个模板文件更容易。如果你不使用i18n模块,你仍然可以在preprocess_page函数中添加body类。

如果一个机构类将不会为你工作,你可以看看the patch从上面的问题关于如何预处理过程中的语言添加到变量数组的例子。然后,请参阅Working with template suggestions handbook page了解如何根据新添加的语言信息添加模板建议。