2012-01-11 56 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;  } }?> 
來實現它
相關問題