2016-11-24 4 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

私は試してみることをお勧めします..私はガイドを取得する必要がある多くのステップ!あなたに時間があり、私に例を与えることができるなら、私は感謝するでしょう!とにかくありがとうございました! –

+0

ありがとう..私は__constructの前に保護された変数を追加し、$ this->変数を呼び出すためのもっと簡単なものを試しました...後で私はそれを行うための他の方法を学びます。ありがとうございました! –

関連する問題