2011-02-16 75 views
3

我有querys某一节点的数据库块,但是该节点可以被翻译成英语/西班牙语/ ...本地化Drupal的自定义查询(如何获得用户语言)

有没有一种办法获取用户选择的语言,以便我可以将查询更新为“AND node.language ='x'”(en/sp/..)?

<?php 
$args = explode("/",$_GET['q']); 
$result = db_query(" 
SELECT node_revisions.body AS body FROM 
{node} AS node 
INNER JOIN {node_revisions} AS node_revisions ON node.vid = node_revisions.vid 
INNER JOIN {term_node} AS term_node ON term_node.nid = node.nid 
INNER JOIN {term_data} AS term_data ON term_data.tid = term_node.tid 
WHERE term_data.name = '".$args[1]."' AND node.type = 'country_page' 
LIMIT 1 
", $user->uid); 
while($row = db_fetch_object($result)){ 
    echo($row->body); 
} 
?> 

回答

6

我认为你可以得到用户的当前语言的Drupal这样的:

global $language;

$lang_name = $language->language;

这应该在两者的Drupal 6和Drupal 7.

参考工作: Drupal API docs

+0

太棒了,谢谢! – kilrizzy 2011-02-16 15:56:47