3

各ページに動的に排他的なメタタグを割り当てようとしています:

例: url.com/index.php?action=signup

ヘッダー - サインアップ タイトル

キーワード - サインアップ メタ キーワード

説明 - サインアップの説明

url.com/index.php?action=約

ヘッダー - タイトルについて

キーワード - メタキーワードについて

説明 - 説明について

あなたは要点を得ました。

私は配列を使用しています...しかし、各配列を各ページに割り当てる方法はまだわかりません。

CONF.PHP

<?php
$metas = array( 
'index.php' => array( 
'header' => 'Home Title', 
'keywords' => 'Home Meta Keywords', 
'description' => 'Home Meta Description' 
), 
'signup' => array( 
'header' => 'Signup Title', 
'keywords' => 'Signup Meta Keywords', 
'description' => 'Signup Meta Description' 
), 
'about' => array( 
'header' => 'About Title', 
'keywords' => 'About Meta Keywords', 
'description' => 'About Meta Description' 
) 
);
?>

INDEX.PHP

<TITLE><?php echo $metas['title']; ?></TITLE>
<meta name="description" content="<?php echo $metas['description']; ?>" >
<meta name="keywords" content="<?php echo $metas['keywords']; ?>" >

これらの値を各ページに割り当てる方法???

4

1 に答える 1

8

あなたは正しい軌道に乗っています:-)

次の方法で行います。

<TITLE><?php echo $metas['index.php']['title']; ?></TITLE>

$_SERVER スーパーグローバル配列/変数から取得できるスクリプト名。

また、config.php ファイルから最後の 3 行を削除します。これらは必要ありません。

幸運を祈ります。PHP を使用する場合は、配列の操作について十分な知識を身に付けてください。それが鍵です。

編集:

$page = 'index.php';
if ( isset( $_GET['action'] ) && $_GET['action'] != "" )
{
    $page = $_GET['action'];
}

<TITLE><?php echo $metas[$page]['title']; ?></TITLE>

編集: (2012 年 5 月 27 日)

私はこれがほとんどすべてだと思います:

config.php のコード

<?php

$meta['INDEX']['title'] = "Home page";
$meta['INDEX']['keywords'] = "kwd1, kwd2, kwd3";
$meta['INDEX']['description'] = "Home description";

$meta['SIGNUP']['title'] = "Sign up..!";
$meta['SIGNUP']['keywords'] = "kwd1, kwd2, kwd3";
$meta['SIGNUP']['description'] = "Sign up description";

$meta['ABOUT']['title'] = "About Company";
$meta['ABOUT']['keywords'] = "kwd1, kwd2, kwd3";
$meta['ABOUT']['description'] = "About company description";

アプリケーションのページ/画面 (.php ファイル) のコード:

<?php

include "config.php";

// Choice 1: if you want to specify page hardcoded at each page then you can say $page = 'ABOUT' for about-us page and $page = 'INDEX' for home page etc.
$page = 'ABOUT';
if( strtoupper($_SERVER['REQUEST_URI'], $page) !== false )
{
    $title = $meta[$page]['title'];
    $keywords = $meta[$page]['keywords'];
    $description = $meta[$page]['description'];
}
// Now you have your meta - use it the way you want
echo $title;

// Choice 2: If you want to make it little more dynamic
// Here you don't need to define any hardcoded variable at page level as everything will be considered from the URL being requested
$page_index = array_keys($meta);

foreach($page_index as $page)
{

    if ( strpos( strtoupper($_SERVER['REQUEST_URI']), $page ) !== false)
    {
        $title = $meta[$page]['title'];
        $keywords = $meta[$page]['keywords'];
        $description = $meta[$page]['description'];
        break;
    }
}
// Now you have your meta - use it the way you want
echo $title;

?>
于 2012-05-21T17:56:46.993 に答える