3

我有一个查询数据库中节点的块,但是该节点可以翻译成英语/西班牙语/...

有没有办法获取用户选择的语言,以便我可以将查询更新为“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);
}
?>
4

1 回答 1

6

我认为您可以通过以下方式在 Drupal 中获取用户当前的语言:

global $language;

$lang_name = $language->language;

这应该适用于 Drupal 6 和 Drupal 7。

参考: Drupal API 文档

于 2011-02-16T15:50:42.417 回答