在PHP中使用全局标头时设置页面标题

时间:2013-02-15 07:32:07

标签: php global title

我想知道你们在使用全局标题时如何设置页面标题。我希望能够将页面标题从页面更改为页面...例如,“站点名称:新闻档案”。最好的方法是使用JavaScript吗?如果我用JS做到这一点,新的更改是否会在搜索引擎结果中生效?只是想对这个想法有所了解。

<?php

include('header.php');

switch($_GET['p']){

   case "news": 
      include('news.php');
   break;

   default:
       include('indexBody.php');

}

include('footer.php');

?>

2 个答案:

答案 0 :(得分:2)

您可以定义BEFORE变量,包括标题。 然后可以在header.php。

中使用此变量
<?php

$pagetitle = "Site Name : News Archives";

include('header.php');

...

?>

答案 1 :(得分:0)

如果你想沿着这条路走,可能会尝试类似下面的事情:

将变量存储在数据数组中,然后在回显之前将它们传递给页眉/页脚/内容视图。

您的页眉和页脚会将{p> $data['title']视为$title

<?php
$page = (!empty($_GET['p'])?$_GET['p']:'index');

$data = array();
switch($page){
    case "news":
        $view = 'news.php';
        $data['title'] = 'Site Name : News Archives';
        break;

    default:
        $view = 'indexBody.php';
        $data['title'] = 'Site Name : Home';
        break;
}

echo load_view('header.php',$data);
echo load_view($view,$data);
echo load_view('footer.php',$data);

function load_view($path,$data) {
    if (file_exists($path) === false){
        return 'View not found: '.$path;
    }
    extract($data);
    ob_start();
    require($path);
    $out = ob_get_contents();
    ob_end_clean();
    return $out;
}
?>