Как использовать hook_node API в Drupal 6 для извлечения и отображения содержимого из базы данных - PullRequest
0 голосов
/ 11 января 2012

Я сохранил переведенное содержимое для своего сайта D6 в своей пользовательской таблице базы данных (в моей таблице есть такие столбцы, как заголовок, тело и т. Д.).Мой сайт на английском языке и имеет исходное содержание этих переведенных.Мне нужно вытащить из базы данных и отобразить французское содержимое, когда выбран французский язык в переключателе языка и так далее.Я исследовал, что API hook_node - это способ достичь этого.Хотелось бы, чтобы ваши вклады были одинаковыми.Это пример снимка экрана страницы на моем сайте. Образец узла 3 моего сайта Это скриншот моей пользовательской таблицы базы данных: Таблица базы данных Если вы видите строку с sr-id '2', у меня есть мой испанский переводузел 3 присутствует в базе данных.Я хотел бы получить некоторые рекомендации относительно того, как эта строка может быть извлечена и отображена в моем пользовательском интерфейсе, как показано на снимке экрана пользовательского интерфейса, когда пользователь выбирает «Espanol» через API hook_node.

1 Ответ

0 голосов
/ 12 января 2012

Мне удалось добиться с помощью кода

<?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;        } }?>
...