用户登录

Drupal资源链接

http://zhupou.cn
drupal布道者,改成了"老葛的Drupal培训班",专心于培训事业
http://drupal.org
官方网站
http://drupalchina.org
中文的官方网站
http://acquia.com/
本站就是用这个版本构建的

i18ntaxonomy与acquia_marina模板

i18ntaxonomy是Internationalization模块总的一个子模块,用于分类的多语言化.但用在acquia_marina模板上时,却出现了问题,用其它模板都很正常,但用acquia_marina,多语言的效果就是没有出来 .(注,我用的是acquia_marina1.9版本的,i18n是6月13日的开发版本)

原因:acquia_marina模板是通过taxonomy_node_get_terms_by_vocabulary函数取得term的名称,不能取得多语言的term名称.

解决方案:

 $terms = taxonomy_node_get_terms_by_vocabulary($vars['node'], $vocabulary->vid); 

加上这句

$terms = i18ntaxonomy_localize_terms($terms);//用于翻译多语言terms

如果想要分类名称也用多语言,那么更改这句

$output .= '<li class="vocab vocab-'. $vocabulary->vid .'"><span class="vocab-name">'. t($vocabulary->name) .':</span> <ul class="vocab-list">';

$output .= '<li class="vocab vocab-'. $vocabulary->vid .'"><span class="vocab-name">'.check_plain(tt("taxonomy:vocabulary:$vid:name", $vocabulary->name)) .':</span> <ul class="vocab-list">';

这样更改之后,acquia_marina模板就能支持多语言分类