2016-11-28 1 views
0

.php/.htmlファイル名に基づいてHTMLタイトルタグを動的に変更するにはどうすればよいですか?今私はこれを試して達成するためにスイッチケースを使用していますが、それぞれのケースでそれを比較するためにページ名を取得する方法がわかりません。ここに私のPHPコードは次のとおりです。PHPでページ名に基づいて動的なHTML <title>タグを作成するには?

$prefix = 'MySiteTitle | '; 

switch ($_GET['PHP_SELF']){ 
case 'www.mysite.php/home': 
$pageTitle = 'Home'; 
} 

そして、私のタイトルタグで、それが行く:$ PAGETITLE変数はあなたが行うことができ、空

+0

ファイル構造を説明してくださいことを確認してくださいと - 私は推測タイトルタグは、テンプレートのいくつかの種類であること複数のページで使用されています – Steve

+0

はい、ヘッダーを外部化したので、各ページに含めることができます。私のファイル、home.php、about.phpなどはすべて同じフォルダにあります。 – hoolakoola

答えて

1

あなたは$ _GET ['PHP_SELF']ではなく、$ _SERVER ['PHP_SELF']を意味するかもしれません。その出力

echo $_SERVER['PHP_SELF'] 

をチェックして、エコーマッチ「www.mysite.php/homeは」

$prefix = 'MySiteTitle | '; 

switch ($_GET['PHP_SELF']){ 
    case 'www.mysite.php/home': 
     $pageTitle = 'Home'; 
    default: 
     $pageTitle ='You are here'; 
} 
+0

ありがとう!これはまさに私が行っていたものです! – hoolakoola

+0

しかし、これが誰かを助けるかもしれない場合の混乱を避けるために、私は$ _GETの代わりに$ _SERVERを使用していたはずです – hoolakoola

1

あるよう

<title><?php echo $prefix . $pageTitle ?></title> 

これは、これまで働いていませんこのような何か:

$pageTitle = rtrim(basename(__FILE__), '.php');

しかし、これは良いのIDEではありませんあなたが各ファイルに単一のコンテンツを持っているのではないでしょうか。ヘッダ付き$pageTitle = 'Article name';

編集

あなたが自分で割り当てを行う必要があります <title>My site | <?= $pageTitle ?></title>

ヘッダファイルで、あなたはこのような何かを持っていますユーザーが訪問したページ:

$pageTitle = 'My article'; 

require_once 'header.php'; 
+0

これは、コードをどのページに表示するのではなく、ユーザーがどのページを読み込むようにするために変更する方法ですか?これを使用すると、ヘッダーを外部化したため、 "MySiteTitle | Header"と表示されます。 – hoolakoola

+0

実際、この割り当てを自分で行う必要があります。私の更新された答えを見てください。 – Max

関連する問題