2016-07-02 69 views
-1

我正在編寫此網站,該窗口的窗口頂部有一個導航欄,其中有一個切換列表,您可以選擇用於查看此網站的語言。切換語言時停留在當前頁面的HTML代碼

我設法寫的語言切換按鈕的代碼與下面的代碼:

<li class="dropdown ' . (in_array($currentFile,$servicesArr)?'active':'') . '"> 
 
<a class="dropdown-toggle"> 
 
    <img src="assets/images/flags/cn.png" width="16" height="11" alt="CN 語言" /> [CN] 簡體中文<i class="fa fa-angle-down"></i> 
 
</a> 
 

 
<ul class="dropdown-menu"> 
 
    <li><a href="index.php"> 
 
      <img src="assets/images/flags/hk.png" width="16" height="11" alt="CN 語言" /> [HK] 繁體中文</a> 
 
    </li> 
 
    <li><a href="#"> 
 
     <img src="assets/images/flags/us.png" width="16" height="11" alt="EN Language" /> [US] English</a> 
 
    </li> 
 
</ul> 
 
</li>

所以,我的問題是:根據我的代碼,每次我改變語言,該鏈接將採用該語言的索引,但如果我不在當前語言的索引頁面,該怎麼辦?說,如果我正在用英文查看index-en/job.php,現在我想切換到中文,而不是在單擊切換按鈕後進入index-cn,我想切換到index-cn/job。 PHP。我怎樣才能做到這一點?

在此先感謝!

回答

0

您使用了php標記,所以我猜這是一個PHP文件。您可以使用PHP動態填充其他語言中相應頁面的href屬性。

  1. 獲取當前URL和語言
  2. 計算什麼匹配的網址將是其他語言。
  3. 在鏈接的href屬性中插入匹配的URL。

代碼:

<?php 
//URL path. eg: index-en/job.php 
$path = trim($_SERVER['REQUEST_URI'],'/'); 

//language from URL. eg: index-en 
$lang = explode('/',$path)[0]; 

//Paths in other languages: eg: 'cn' => 'index-cn/job.php' 
$langs = [ 
    'en'=>preg_replace("/$lang/",'index-en',$path,1), 
    'cn'=>preg_replace("/$lang/",'index-cn',$path,1), 
    ... 
]; 
?> 
<ul class="dropdown-menu"> 
    <li><a href="<?= $langs['cn']?>"> 
      <img src="assets/images/flags/hk.png" width="16" 
         height="11" alt="CN 語言" /> [HK] 繁體中文</a> 
    </li> 
    <li><a href="<?= $langs['en']?>"> 
      <img src="assets/images/flags/us.png" width="16" 
         height="11" alt="EN Language" /> [US] English</a> 
    </li> 
</ul>