WebDesign:头文件,但有自定义页面标题?

时间:2010-04-28 18:53:47

标签: php html header title

我一直在使用标题为网站创建模板。 调试非常简单,非常方便。

我现在面临使用头部BUT和自定义页面标题的问题。 如果这是我的 header.php >

<html>
    <head>
        <title> My Site : ??? </html>
    </head>
<body>


</body>
</html>

我需要???每页都要替换。

这可能吗?如果是这样,怎么样?谢谢。 :)

8 个答案:

答案 0 :(得分:20)

不了解您的文件包含方案的更多信息,最简单的方法是:

使page2.php

<?php
$pageTitle = 'Page 2';
include 'header.php';
?>

<div>My content</div>

<?php include 'footer.php'; ?>

的header.php

<html>
    <head>
        <title> My Site : <?php echo $pageTitle ?> </title>
    </head>
<body>

footer.php

</body>
</html>

答案 1 :(得分:2)

webbiedave的答案非常好,但从长远来看,你应该学会使用一个像样的模板语言(Smarty,Twig),或者是一个有自己模板的PHP框架。 Kohana和Codeigniter都很容易进入。

答案 2 :(得分:1)

如果我在包含标题之前添加一些代码,它会有帮助吗?

<?php
    $currentPage = "Random Page Title";
    include "header.php";
?>

然后使用header.php中的值来打印页面标题?

答案 3 :(得分:0)

您可以在数据库中查询页面标题,然后使用php打印它:)

编辑:

回顾这个问题,根据您的网站设计方式,这可能不是最简单的解决方案。但如果你已经在使用某种ID系统,这应该很容易。

答案 4 :(得分:0)

是的,它肯定会有所帮助。但是你需要做一些定制。

首先,如果要从数据库中查询/获取数据,请确保连接到数据库。为此,请在脚本的最开头包含“config.php”页面,其中将存在数据库连接逻辑。

然后,编写查询以从该数据库中获取数据,并将该值分配给所需的变量,以便在标题页中使用它。

最后,请添加“header.php”页面。

对于“config.php”页面: -

数据库连接的逻辑,就像使用“mysql_connect()”&amp; “mysql_select_db()”函数。

对于“custom.php”页面: -

<?php
  include "config.php";

  $sql = "SELECT pageTitle FROM db_table WHERE condition = 'something'";
  $sql_exe = mysql_query($sql) or die("Error in Fetching Page Title");
  if( mysql_num_rows($sql_exe) ) {
    $currentPage = mysql_result($sql_exe, 0, 0);
  }
  else {
    $currentPage = "Random Page Title";
  }
  mysql_free_result($sql_exe);

  include "header.php";
?>

另外,如果你愿意,你总是可以使用一些类来进行mysql连接&amp;查询,获取数据。但这就是它始终有效的方式。

答案 5 :(得分:0)

你可以调用javascript动态更改页面标题,如果你有一个调用所有其他包含的主文件index.php,这是一个更好的解决方案

答案 6 :(得分:0)

您也可以使用以下内容:

如果你将你的php文件名与你的页面标题结合起来

你可以使用explode或str替换来使用它更友好,例如替换逗号或下划线。

   <?php
    echo basename($_SERVER['REQUEST_URI']);
    ?>

  <?php
    // my_page_title.php
   $var=basename($_SERVER['REQUEST_URI']);
   $pagetitle=str_replace("_"," ",$var);

    // my page title
    ?>       
    <title> My Site : <?php echo $pagetitle; ?> </title>

答案 7 :(得分:0)

更正了Webbiedave的header.php条目中的1个小错误

</html> should be </title>

<html>
    <head>
        <title> My Site : <?php echo $pageTitle ?> </title>
    </head>
<body>