2017-11-16 3 views
0

イタリア語と英語の両方で読むことができるウェブサイトがあります。
英語のウェブサイトの特徴は次のとおりです:mysite.com/...
イタリア語のパスは次のとおりです:mysite.com/it/...
私は現在予約モジュールを実装しています。自宅と「運賃」ページに、私が提供するサービス(タクシーサービス)のためのスポットを予約するためのツールをユーザに提供する。モジュールは都市(出発と到着)と関連価格を含むデータベースに接続されています。モジュールの場合は、いくつかの情報(私の場合:出発、到着、乗客数、luggages)を尋ねられるボックスを意味し、ボタンを押すと何かが起きます(私の場合、旅行)。
ウェブサイトには2つの言語があるので、モジュールとデータベースの両方を翻訳する必要があります。私は、次のように進めた:私は同じモジュールを含む2つのフォルダを作成したが、他は英語でありながら、1は イタリア語である
IFのユーザーが特定のページ/ URLにいる場合

  • 各モジュールは 正しいデータベースを照会英語モジュールは翻訳1 (ESマルペンサアエロポルト。 - >マルペンサ空港)からデータを読み出しながら、イタリア語モジュールは、イタリア DBからデータを取ります。私が今やりたい何

は次ないif文を作成することです:

IF (on the homepage of mysite.com/) { 
Get the English module 
} else IF (on the homepage of mysite.com/it/) { 
    Get the Italian module 
    } else { 
    Do nothing because you are not on any homepage 
    } 

私はすでにブログで、インターネットを中心に検索しましたが、私は見つけることができないのです何か働いている。この「IFステートメント」をどのように開発できますか?
あなたは、このことによってそれを行うことができ、すべての

+0

あなたがあなたの '.htaccess'ファイルの' rewrite'ルールにより、 '$ _GET ['language']'などを使うことができます。 'parse_url'〜特に' parse_url($ url、PHP_URL_PATH);パスを見てみましょう; ' – RamRaider

+0

"私は同じモジュールを含む2つのフォルダを作成しました "。したがって、あなたのイタリア語のフォルダが "it"という名前でルートの中に置かれていても、そのままではいけませんか? –

+0

@PatrickQ残念なことに、 "モジュール"はテンプレートフォルダに置かれるので、ウェブサイトのすべてのページ、イタリア語と英語(そしてホームページだけでなく)にバインドされます。それで、IFを使う方法を見つける必要があるのです。他のページでは「何もしない」という選択肢が必要なためです。 – Miranda95

答えて

0

$explode = explode('/', $_SERVER['REQUEST_URI']); 
if($explode[1] == 'it'){ 
    echo 'call Italian'; 
}else{ 
    echo 'call English'; 
} 

$_SERVER['REQUEST_URI']は、サイト内のパスが含まれています。ありがとうその後、私の場合は

/stack/help.php

のでexplode()それは、それに等しいディレクトリ名は、英語のいずれかを呼び出し、他のイタリア語のためのモジュールをあなたを呼び出すかどうかを確認します。

そして、あなたはファイル内で呼び出す必要があり、これは、両方の index.phpに含まれ、/it/index.php

またはこの

getcwd()を爆発し、このことができますend()

$directory = explode('/', getcwd()); 
if(end($directory) == 'it'){ 
    //call Italian Module 
}else{ 
    //call English Module 
} 

希望を使用してみてください、

+0

できるだけ早く試してみます!ありがとう、それが動作することを願っています! 2日後の結果をお知らせください。 – Miranda95

+0

あなたが返信する際に質問を確認します。 –

+0

アドバイスありがとうございます!出来た!残念ながら今私は別の問題XDを持っていますあなたが時間を持っている場合は、私が開いた他の質問で問題をチェックしてください。 ;) – Miranda95

関連する問題