Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Mudança de idioma em site PHP de acordo com link - parte 2

$
0
0

Olá,

Eu tinha criado esse tópico com meu login antigo, que era linkado à minha conta do Twitter. Mas não consegui logar mais com aquela conta e tive de criar uma nova:

 

http://forum.imasters.com.br/topic/537319-mudanca-de-idioma-em-site-php-de-acordo-com-link/

 

Então repetindo a questão, meu site em PHP tem três idiomas e uma função changeLang(lang) que muda perfeitamente o idioma de português pra inglês ou espanhol. Contudo, o link da minha página sempre fica o mesmo, mesmo quando eu mudo o idioma:

http://www.minhapagina.com/phase01?lang=pt-br

Sendo que o idioma é modificado em um botão de seleção de idioma que tem no cabeçalho da mesma. Nesse botão, é executada a função changeLang:

function changeLang(idLang) {
    $("#comboLang").css("display", "none");
    $("#langAtiva").html($("#lang" + idLang).val());
    var lang = '';
    if(idLang==0){
        lang = 'pt-br';
    }else if(idLang==1){
        lang = 'eng';
    }else if(idLang==2){
        lang = 'esp';
    }
    
    $("#lang").val(lang);
//alert(location.href);
    $.ajax({
        url : 'usuario/mudaLingua',
        async : false,
        dataType : 'json',
        type : 'POST',
        data : {
            lang : lang
        },
        success : function(data) {
            location.reload();
        }
    });
}

E a função mudaLingua dessa URL:

public function mudaLingua(){
        session_start("usuario");
        $_SESSION['usuario']['lang'] = $_REQUEST['lang'];
    }

A ideia sugerida pra mudar o idioma quando muda a URL foi:

if (array_key_exists('lang', $_GET))
    $_SESSION['usuario']['lang'] = $_GET['lang'];

E funcionou bem. Coloquei no início da minha página, phase01.php. Mas aí o botão do cabeçalho deixa de funcionar.

 

O que eu poderia tentar pra que as duas coisas funcionem?


Viewing all articles
Browse latest Browse all 14190