2016-11-24 38 views
0

我需要添加此代碼以某種方式使用它在函數__construct()不重複每個函數的代碼。Codeigniter如何添加多語言的所有功能使用此代碼內函數__construct()

我做這裏面指數

public function index($lang = ""){ 
    $ip = $_SERVER['REMOTE_ADDR']; 
    $query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip)); 
    if($query && $query['status'] == 'success') { 
     $country = $query['country']; 
     if($country == 'Brazil'){ 
      $this->lang->load('front',$lang==''?'pt_BR': $lang); 
      $this->session->set_userdata('site_lang', $lang); 
      $data['home'] = 'home'; 
      $data['which_country'] = $country; 
      $this->load->view('front_end/site/home',$data); 
     }elseif($country == 'Egypt' || $country == 'Algeria' || $country == 'Bahrain' || $country == 'Iraq' || $country == 'Jordan' || $country == 'Kuwait' || $country == 'Lebanon' || $country == 'Libya' || $country == 'Morocco' || $country == 'Oman' || $country == 'Palestine' || $country == 'Qatar' || $country == 'Saudi Arabia' || $country == 'Sudan' || $country == 'Syria' || $country == 'Tunisia' || $country == 'United Arab Emirates' || $country == 'Yemen'){ 
      $lang = "ar_EG"; 
      $this->lang->load('front',$lang==''?'ar_EG': $lang); 
      $this->session->set_userdata('site_lang', $lang); 
      $data['home'] = 'home'; 
      $this->load->view('front_end/site/home_arabic',$data); 
     }elseif($country != 'Brazil' || $country != 'Egypt' || $country != 'Algeria' || $country != 'Bahrain' || $country != 'Iraq' || $country != 'Jordan' || $country != 'Kuwait' || $country != 'Lebanon' || $country != 'Libya' || $country != 'Morocco' || $country != 'Oman' || $country != 'Palestine' || $country != 'Qatar' || $country != 'Saudi Arabia' || $country != 'Sudan' || $country != 'Syria' || $country != 'Tunisia' || $country != 'United Arab Emirates' || $country != 'Yemen'){ 
      $this->lang->load('front',$lang==''?'en_US': $lang); 
      $this->session->set_userdata('site_lang', $lang); 
      $data['home'] = 'home'; 
      $data['which_country'] = $country; 
      $this->load->view('front_end/site/home',$data); 
     }else{ 
      //$data['remove']="<script>$('#cookie-law').remove();</script>"; 
     } 
    } else { 
     //echo 'Unable to get location'; 
    } 
} 

回答

1

內部構造()控制器的?你可以使用助手並自動加載它。在你的幫助函數中調用$CI = &get_instance();來訪問會話。

+0

感謝您的建議我goint嘗試..其很多步驟,我必須得到一個指導!如果你有時間,可以給我一個例子,我將不勝感激!不管怎樣,謝謝你! –

+0

謝謝..我剛剛嘗試了一些更簡單的方法,讓我在__construct之前添加受保護的變量,然後調用$ this-> variable ...稍後我將學習其他方法來做到這一點。再次感謝你! –

相關問題