PHPからJavaScriptに変数を送信する際に問題があります。
このリンクから javascript (Ajax) をプルします。
<script src="<?php echo base_url().'assets/js/main.js' ?>"></script>
私の中でmain.js
:
var base_url = '<?php echo base_url(); ?>';
var language = '<?php echo $language; ?>';
.load
このようにajaxを使用して、Webページを更新せずにコンテンツを動的にロードしようとしています:
var addressValue = $(this).children('a').attr("href");
$('#conteudo').fadeOut("slow").load(addressValue+'/index.php?idioma='+language+' #conteudo').hide().fadeIn("slow")
私はaddressValue
onylで完璧にロードできます。しかし、上記の方法を試してみると、私の言語はエコーしません。使用する代わりに、language
ポルトガル語などの変数なしで必要な言語を配置すると、魅力的に機能します。私は多言語で作業しているので、ユーザーが選択した言語でコンテンツを取得する必要があります。
これは、ユーザーが言語を設定する方法です
<ul class="nav pull-right language" id="barra_de_idiomas">
<li><?php echo anchor(($this->uri->uri_string())."?idioma=english",' ', 'class="language" id="en"') ?></li>
<li><?php echo anchor(($this->uri->uri_string())."?idioma=portuguese",' ', 'class="language" id="pt"') ?></li>
<li><?php echo anchor(($this->uri->uri_string())."?idioma=german",' ', 'class="language" id="de"') ?></li>
<li><?php echo anchor(($this->uri->uri_string())."?idioma=french",' ', 'class="language" id="fr"') ?></li>
</ul>
そしてコントローラーからの私の構成:
$this->load->library('user_agent');
if ($this->config->item('language') == '') {
if($this->input->get('idioma') == true) {
$this->config->set_item('language', $this->input->get('idioma'));
} elseif ($this->agent->accept_lang('en')) {
$this->config->set_item('language', 'english');
} elseif ($this->agent->accept_lang('de')) {
$this->config->set_item('language', 'german');
} elseif ($this->agent->accept_lang('pt')) {
$this->config->set_item('language', 'portuguese');
} else {
$this->config->set_item('language', 'portuguese');
}
}
$language = $this->config->item('language');
$data['language'] = $language;
$this->load->vars($data);