为每个页面设置自定义页面标题

时间:2013-09-11 12:51:46

标签: php

目前我的网站标题如下:

<title>My Site Title</title>

上面的代码添加在'header.php'文件中,因此每个页面都有相同的页面标题。 我需要为不同的页面设置不同的标题。

例如,

<title>
 if 'contact.php' then title= 'Contact Us'
 else if 'faq.php' then title= 'FAQ'
 else if 'add.php' then title= 'Add'
 else title= 'My Site Title'
</title>
有人请帮助我!!

6 个答案:

答案 0 :(得分:2)

我猜contact.php include 'header.php';。那么这样的事情就可以了:

contact.php:

<?php
$title = 'Contact Us';
include 'header.php';
// your code
?>

的header.php:

<?php
echo '<title>'.$title.'</title>';

提示:看看模板引擎。我喜欢聪明的例子。也许有人会用其他一些例子对此发表评论;)

答案 1 :(得分:0)

我建议你使用带有标题的数组而不是一系列if s(分别是一个开关)

<?php

$file = basename($_SERVER['PHP_SELF']);
$titles = array(
    'contact.php' => 'Contact Us',
    'faq.php' => 'FAQ',
    'add.php' => 'Add',
);

if(array_key_exists($file, $titles){
    echo '<title>'.$titles[$file].'</title>';
}else{
    echo '<title>Ny Site Title</title>';
}

?>

答案 2 :(得分:0)

在脚本中创建一个名为$ page的变量,并在模板文件中使用该变量。

页面Home的业务逻辑,例如:

<?php
.
.
.
$page = 'Home';
render($page);

查看主页的逻辑页面:

.
.
.
<title>
<?php echo $page; ?>
</title>
.
.
.

这只是一个概念,它不是一个功能齐全的代码。

答案 3 :(得分:0)

将标题拆分为2个单独的php文件,一个在标题之前,一个在标题之后(这将与其他页面特定数据一起使用,请参阅答案末尾的注释)

然后页面顶部应如下所示:

<?php include_once("inc/begin-head.inc");?>
<title>My Title</title>
<meta name="description" content="description"></meta>
<?php include_once("inc/end-head.inc");?>

还有一些其他解决方案,例如make header是一个类并定义它的变体,然后调用一个函数来完整地输出头

请注意,有很多其他分页特定标签。标题,元描述,规范网址链接,元关键字,开放图形数据.....

答案 4 :(得分:0)

您可以尝试这样并使用basename($ _ SERVER ['PHP_SELF']),然后查找$ title [key]

           $title = array();
           $title['home.php'] = 'My home page';
           $title['Hello.php'] = 'My title';

答案 5 :(得分:0)

要动态添加标题,请首先在header.php文件中设置以下代码:

<title> 
    <?php 
        if(isset($title) && !empty($title)) { 
            echo $title; 
        } else { 
            echo "Default title tag"; 
        }
    ?>
</title>

并在每个页面中设置标题,然后将标题包括为:

$title = "Your Title";
include 'header.php';