Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter语言视图中的更改语言_Php_Codeigniter_View - Fatal编程技术网

Php Codeigniter语言视图中的更改语言

Php Codeigniter语言视图中的更改语言,php,codeigniter,view,Php,Codeigniter,View,我的Codeigniter站点使用Codeigniter的语言类及其相应的语言文件。 我的观点在顶部有3个链接来改变语言。但是我如何创建这些链接呢? 当我在domain.com/nl/home页面上时,我的语言应该如下所示 domain.com/en/home domain.com/de/home domein.com/fr/home 我还想为当前使用的语言添加一个css类。您实际上不需要在url中显示该语言。如果站点变大,则很难维护。如果在多个控制器中使用,可以使用控制器或挂钩 /* BEG

我的Codeigniter站点使用Codeigniter的语言类及其相应的语言文件。 我的观点在顶部有3个链接来改变语言。但是我如何创建这些链接呢? 当我在domain.com/nl/home页面上时,我的语言应该如下所示

domain.com/en/home
domain.com/de/home
domein.com/fr/home

我还想为当前使用的语言添加一个css类。

您实际上不需要在url中显示该语言。如果站点变大,则很难维护。如果在多个控制器中使用,可以使用控制器或挂钩

/* BEGIN Language settings */
    $lang_array=array('english','spanish');

    if(!$this->session->userdata('language')){
           self::$current_language =  $this->config->item('language');
           $this->session->set_userdata('language', self::$current_language);
    }else{
           self::$current_language = $this->session->userdata('language');
    }
    // Css purpose
    $this->page_data['display_en'] = "";
    $this->page_data['display_sp'] = "";
    switch(self::$current_language){
        case 'english':$this->page_data['display_en'] = "display:none";break;
        case 'spanish':$this->page_data['display_sp'] = "display:none";break;
    }
   // Load language files
   $this->lang->load('profile',  self::$current_language);
   $this->lang->load('products',  self::$current_language);

   $this->page_data['page_lang'] = self::$current_language;
   // Abbreviated language name
   $this->page_data['lang'] = substr(self::$current_language,0,2);

   /* END Language settings */

实际上,您不需要在url中显示该语言。如果站点变大,则很难维护。如果在多个控制器中使用,可以使用控制器或挂钩

/* BEGIN Language settings */
    $lang_array=array('english','spanish');

    if(!$this->session->userdata('language')){
           self::$current_language =  $this->config->item('language');
           $this->session->set_userdata('language', self::$current_language);
    }else{
           self::$current_language = $this->session->userdata('language');
    }
    // Css purpose
    $this->page_data['display_en'] = "";
    $this->page_data['display_sp'] = "";
    switch(self::$current_language){
        case 'english':$this->page_data['display_en'] = "display:none";break;
        case 'spanish':$this->page_data['display_sp'] = "display:none";break;
    }
   // Load language files
   $this->lang->load('profile',  self::$current_language);
   $this->lang->load('products',  self::$current_language);

   $this->page_data['page_lang'] = self::$current_language;
   // Abbreviated language name
   $this->page_data['lang'] = substr(self::$current_language,0,2);

   /* END Language settings */