v2.5.2
Giriş yap

Php'de dil değiştirdiğimde mevcut sayfada kalması

ender
894 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Kullanıcının dil bağlantısını tıklayarak geçerli sayfayı değiştirmeden dil değiştirebilmesini istiyorum.

Aşağıdaki gibi bir kod buldum. Çalışıyor, ancak sayfa adları farklı olduğu için şöyle bir hata alıyorum:
Örneğin: "../en/about.php" sayfasındayken dili değiştirdiğimde, "../tr/about.php" sayfasına gidiyor. Gitmesi gereken sayfa "../tr/hakkimizda.php".

Bu sorunu nasıl çözebilirim?

PHP

<?php
$path = trim($_SERVER['REQUEST_URI'],'/');

$lang = explode('/',$path)[0];

$langs = [

'en'=>preg_replace("/$lang/",'../en',$path,1),
'tr'=>preg_replace("/$lang/",'../tr',$path,1),

];
?>

HTML

<ul>

<li>
   <a href="<?= $langs['tr']?>">Türkçe</a>
</li>

</ul>

ender
1435 gün önce

Arkadaşlar sorunu javascirpt yazarak çözdüm:

<a class="nav-link" href="#" id="LangRedirect">English</a>

Javascript:
$(function(){

$("#LangRedirect").click(function(){
var lang,en,tr;
    lang=window.location.pathname;
    en="/en/";
    tr="/tr/";
switch (lang){
     // About
    case en+"about.php": location.assign(tr+"hakkimizda.php");
    break;
    case tr+"hakkimizda.php": location.assign(en+"about.php");
    break;
    default: window.location.pathname=(en+"404.php");
}});

});