在我的網站中,所有頁面都有相同的標題。所以我使用include
函數作爲頭文件。這包括所有<head></head>
。如何在<head>內移動<title>?
由於<title>
因頁面而異,所以我在<body>
之後。
我知道這是錯誤的。我該如何解決這個問題並將標準<head>
內的變量<title>
移動?
謝謝
在我的網站中,所有頁面都有相同的標題。所以我使用include
函數作爲頭文件。這包括所有<head></head>
。如何在<head>內移動<title>?
由於<title>
因頁面而異,所以我在<body>
之後。
我知道這是錯誤的。我該如何解決這個問題並將標準<head>
內的變量<title>
移動?
謝謝
包括頭前設置標題變量:
$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>
可能設置頁面標題中的變量未來的你有,並有這在腦袋裏:
<title><?php echo htmlspecialchars($pageTitle, ENT_QUOTES); ?></title>
在您包含組頭的代碼,使用一個佔位符標題:
<head>
<title><?php echo $pageTitle; ?></title>
...
</head>
然後,在特定頁面的代碼,就在include
語句之前,填充$pageTitle
變量:
$pageTitle = "Your Title";
include...
爲了使您的包括代碼更健壯,考慮設置一個默認的標題。如果沒有提供:
<title><?php echo isset($pageTitle)? $pageTitle: 'Default Title'; ?></title>
把一個變量的頭文件裏爲你的標題,然後之前定義你的頁值您包含頭:
內,您的包括:
<html>
<head>
<title><?= $page_title; ?></title>
內,您的主文件:
<?php
$page_title = 'My page title';
include('header.php');
可以添加頭之上的PHP變量包括諸如
$title = 'test page';
然後在標題中使用
<title>Main site title | <?php isset($title) ? $title : 'No title set' ?>
讓你的包含文件只包含內容的<head>
標籤,而不是標籤本身。
這樣你可以包含<head></head>
標籤之間的文件,並且每個頁面的標題也不相同。
根據您設置的方式,您可能必須在調用包含之前設置標題。
PHP:
<?php
$title = "My Page Title";
include('path-to-your-header.php);
你的頭會是這個樣子,那麼:
PHP:
<html>
<head>
<title="<?php echo($title); ?>">
...
</head>
或者,如果您使用的是框架(笨的例如)你可以使用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>
在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 -->