2012-01-11 5 views
0

D6サイトの翻訳内容をカスタムデータベーステーブルに保存しました(私のテーブルにはタイトル、本文などの列があります)。私のサイトは英語であり、翻訳されたもののソース内容を持っています。フランス語が言語切り替え器などの中で選択されると、データベースから抜き出してフランス語の内容を表示する必要があります。私はhook_node APIがこれを達成する方法であることを研究しました。入力を同じにしたいと思います。 これは私のサイトのページのサンプルスクリーンショットです。 Sample Node 3 Of my site これは私のカスタムデータベーステーブルのスクリーンショットです: Database table sr-id '2'の行が表示されたら、データベースに存在するノード3のスペイン語の翻訳があります。 ユーザーがhook_node API経由で「Espanol」を選択したときのUIスクリーンショットに表示されるように、この行をUIに取り込んで表示する方法についていくつか指導したいと思います。Drupal 6でhook_node APIを使用してデータベースから内容を取得して表示する方法

答えて

0

私はコード

<?phpfunction freeway_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) 
     { 
      $currLang = i18n_get_lang(); 
      switch ($op) 
      {  case 'load':  
       $node_id = $node->nid; 
       $nodeSrcLang = $node->language; 
      if($nodeSrcLang == en) 
       { 
       $nodeSrc = 'en-us';   
       } 
        if($currLang == fr){  
        $frewayLang = 'fr-fr'; 
          } 
        if($currLang == es){ 
        $frewayLang = 'es-es';  
        } 
       $nodeId = $node->nid; 
       $result = db_query("SELECT node_title,node_body FROM {freeway} 
       WHERE node_id = '$nodeId'   
       AND src_lang ='$nodeSrc'   
       AND tar_lang='$frewayLang'");  
       while ($record = db_fetch_object($result)) 
      {  
       $node->body = $record->node_body;  
       $node->title = $record->node_title;  

      }    
      break;  } }?> 
を使用してそれを達成することができました
関連する問題