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;

これは、Drupal6とDrupal7の両方で機能するはずです。

参照: DrupalAPIドキュメント

于 2011-02-16T15:50:42.417 に答える