我一直在使用标题为网站创建模板。 调试非常简单,非常方便。
我现在面临使用头部BUT和自定义页面标题的问题。 如果这是我的 header.php >
<html>
<head>
<title> My Site : ??? </html>
</head>
<body>
</body>
</html>
我需要???每页都要替换。
这可能吗?如果是这样,怎么样?谢谢。 :)
答案 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>