2016-07-02 7 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は、他の言語のためになるものを、現在の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> 
関連する問題