2013-08-03 2 views
0

Мое приложение готово на сервере разработки. Работает так, как ожидалось. Я использую последние XAMPP/Codeigniter/HMVC

При загрузке на рабочий сервер ошибок не было.

Страница входа просто показывает БЕЗ ТЕКСТА !!!

Войти вид

//Example code 
    <a href="login/switchLanguage/italian"><i class="icon-font"></i>&nbsp;<?php echo lang('language'); ?></a> 

При выполнении, это выход

<a href="login/switchLanguage/italian"><i class="icon-font"></i>&nbsp;</a> 
                     ^
                      | 
                    Here's supposed 
                   to write "Italian" 

Войти Контроллер

class Login extends MX_Controller{ 

function __construct(){ 
    parent::__construct(); 
    $this->load->helper('language'); 
} 

function index($msg = NULL){ 
    // Load our view to be displayed 
    // to the user 
    $data['msg'] = $msg; 
    $this->load->view('login', $data); 
} 

    public function switchLanguage($language = "") { 
      $language = ($language != "") ? $language : "english"; 
      $this->session->set_userdata('site_lang', $language); 
      redirect(base_url()); 
    } 

РЕДАКТИРОВАТЬ:

Применение/Config/hooks.php

$hook['post_controller_constructor'] = array(
'class' => 'LanguageLoader', 
'function' => 'initialize', 
'filename' => 'LanguageLoader.php', 
'filepath' => 'hooks' 

);

Применение/Крючки/Languageloader.php

<?php 

    class LanguageLoader { 
     function initialize() { 
      $ci =& get_instance(); 
      $ci->load->helper('language'); 
      $site_lang = $ci->session->userdata('site_lang'); 
      if ($site_lang) { 
       $ci->lang->load('login',$ci->session->userdata('site_lang')); 
      } else { 
       $ci->lang->load('login','english'); 
      } 
     } 
    } 

EDIT:

Пример файла языка: приложение/язык/итальянский/common_lang.php

<?php 
    //Application Global 
    $lang["common_appName"] ="Customer App"; 
    $lang["common_search"] = "Cercare"; 
    $lang["common_search_go"] = "Andare"; 
    $lang["common_label_created_by"] = "Creato da"; 

    //Menus 
    $lang["common_menu_home"] = "Home"; 
    $lang["common_menu_dashboard"] = "Cruscotto"; 
    $lang["common_menu_production"] = "Produzione"; 
    $lang["common_menu_inventory"] = "Inventario"; 
    $lang["common_menu_user_edit"] = "Modificare"; 
    $lang["common_menu_logout"] = "Il logout"; 
    $lang["common_menu_new_notifications"] = "Ci sono nuove notifiche"; 

    //Submenus 
    $lang["common_submenu_dashboard"] = "Cruscotto"; 
    $lang["common_submenu_production"] = "Produzione"; 
    $lang["common_submenu_inventory"] = "Inventario"; 
    $lang["common_submenu_orderlist"] = "Lista ordini"; 
    $lang["common_submenu_calendar"] = "Calendario"; 

Я прошел через много вопросов & отвечает безуспешно.

Любые предложения приветствуются ...

Спасибо!

+0

он считывает данные из языковых файлов, я не вижу, что вы загружаете какой-либо языковой файл в свой контроллер – ahmad

+0

Я использую крючок в приложении/config/hooks.php $ hook [' post_controller_constructor '] = массив ( 'класс'=> 'LanguageLoader', 'функция'=> 'инициализации', 'имя_файла'=> 'LanguageLoader.php', 'путь_к_файлу'=> 'крючки' ); –

+0

Вы уверены, что вы включили опцию hooks в файле конфигурации? application/config/config.php? – ahmad

ответ

1

Не знаете, решила ли вы эту проблему или нет. Но я столкнулся с такой же проблемой, когда обновил свой проект до основного сервера. Реальная проблема с именем файла. В вашем hooks.php вы указываете имя файла как 'LanguageLoader.php', но я думаю, что вы создали файл Languageloader.php (Application/hooks/Languageloader.php). Пожалуйста, проверьте это ..

+0

Спасибо, Лавин, вы ударили ноготь в голову !!! знак равно –