在我的网站中,我对所有页面都有相同的标题。所以我使用include
函数作为标题。这包括所有<head></head>
。
由于<title>
根据页面而变化,因此我将其放在<body>
之后。
我知道这是错的。如何解决此问题并将变量<title>
移到标准<head>
?
谢谢
答案 0 :(得分:6)
在标题中包含的代码中,使用占位符作为标题:
<head>
<title><?php echo $pageTitle; ?></title>
...
</head>
然后,在页面特定的代码中,在include
语句之前,填充$pageTitle
变量:
$pageTitle = "Your Title";
include...
为了使您所包含的代码更加健壮,请考虑设置默认标题,如果没有提供:
<title><?php echo isset($pageTitle)? $pageTitle: 'Default Title'; ?></title>
答案 1 :(得分:2)
在包含标题之前设置标题变量:
$title = 'Whatever you want';
include('header.php');
//rest of your page
内部header.php
:
<head>
<title><?php echo $title ?></title>
<!-- the rest of your stuff -->
</head>
答案 2 :(得分:1)
在标题文件的头文件中添加一个变量,然后在包含标题之前在页面中定义该值:
在您的内容中包含:
<html>
<head>
<title><?= $page_title; ?></title>
在主文件中:
<?php
$page_title = 'My page title';
include('header.php');
答案 3 :(得分:1)
使您所包含的文件仅包含<head>
标记的内容,而不包含标记本身。
这样,您可以在<head></head>
代码之间加入文件,并且每个页面的标题也不同。
答案 4 :(得分:0)
可能将页面标题设置在include之前的变量中,并将其放在头部:
<title><?php echo htmlspecialchars($pageTitle, ENT_QUOTES); ?></title>
答案 5 :(得分:0)
您可以在标题包含上添加一个PHP变量,例如
$title = 'test page';
然后在标题中使用
<title>Main site title | <?php isset($title) ? $title : 'No title set' ?>
答案 6 :(得分:0)
根据您设置的方式,您可能必须在调用include之前设置标题。
<强> PHP:强>
<?php
$title = "My Page Title";
include('path-to-your-header.php);
你的标题看起来就像这样:
<强> PHP:强>
<html>
<head>
<title="<?php echo($title); ?>">
...
</head>
或者,如果你使用框架(例如codeigniter)你可以使用tempalte - 然后在你的控制器方法中你可以设置页面标题。
<强> PHP:强>
<?php
// Controller
public function index()
{
$data['page_title'] = 'Your Page Title';
$data['main_content'] = 'home'; // page content
$this->load->view( 'templates/public', $data ); // page template
}
// Tempalte
<html>
<head>
<title><?php echo ($page_title !== '' ) ? $page_title . ' | ' . SITE_NAME : '' . SITE_NAME; ?></title>
...
</head>
<body>
<?php echo $this->load->view( 'header' ); ?>
<?php echo $this->load->view( $main_content ); ?>
<?php echo $this->load->view( 'footer' ); ?>
</body>
答案 7 :(得分:0)
在page.php
中<?php
$title = 'This title';
include('header.php');
?>
在header.php中
<html>
<head>
<title><?php echo isset($title) ? $title : '' ?></title>
</head>
<!-- rest of code goes below here -->