我有以下代码更改页面上的标题:
class.php
<?php
class Title_And_Page
{
public $pagekey;
public $title;
public $page;
private $pages = array(
'start_page' => array("Startsida", "start_page.php"),
'products' => array("Produkter", "products.php"),
'max_ot' => array("Max-OT", "max_ot.php"),
'blog' => array("Blogg", "blog.php"),
'tools' => array("Verktyg", "tools.php"),
'about_us' => array("Om oss", "about_us.php"));
public function __construct($pagekey)
{
$this->pagekey = $pagekey;
}
public function setTitle()
{
if(array_key_exists($this->pagekey, $this->pages))
{
$this->title = $this->pages[$this->pagekey][0]; //Returns the value in title, that it gets when the constructs is run
return $this->title;
}
}
public function includePage()
{
if(array_key_exists($this->pagekey, $this->pages))
{
$this->page = $this->pages[$this->pagekey][1]; //Returns the value in page, that will be included
return $this->page;
}
}
}
?>
这是我的index.php
中的一些代码 if(isset($_GET['page']))
{
$page = $_GET['page'];
}
$page_title = new Title_And_Page($page);
<title><?= $page_title->setTitle(); ?></title>
<li id="info"><a href="?page=products" class='clickme'>Produkter</a></li>
<li id="info"><a href="?page=max_ot">MAX-OT</a></li>
<li id="info"><a href="?page=blog">Blogg</a></li>
<li id="info"><a href="?page=tools">Verktyg</a></li>
<li id="info"><a href="?page=about_us">Om oss</a></li>
这很有效。但是,我在博客页面中有文章包含“阅读更多”链接。当我点击“阅读更多”链接时,URL会更改为:index.php?page = blog&amp; readmore_from_firstpage = 1&amp; article_header = Vilkenkolhydratärbästattätateetträningen?
如上所示,如何将页面标题更改为$ _GET ['article_header']中的值?
答案 0 :(得分:0)
只需扩展您的GET支票:
if(isset($_GET['article_header']))
{
$page = $_GET['article_header'];
}
elseif(isset($_GET['page']))
{
$page = $_GET['page'];
}
但是,由于您在课堂上检查该网页是否已列入白名单,因此您需要添加另一个变量以强制避免此类检查,或者只是打印出标题article_header
在场。
以下是后者的一个例子:
$avoidClass = false;
if(isset($_GET['article_header']))
{
$page = $_GET['article_header'];
$avoidClass = true;
}
elseif(isset($_GET['page']))
{
$page = $_GET['page'];
}
然后在HTML中:
<title><?= $avoidClass ? $page : $page_title->setTitle(); ?></title>
或者,可能是最简单的方法:
if(isset($_GET['article_header']))
{
$page_title = $_GET['article_header'];
}
elseif(isset($_GET['page']))
{
$page_title = new Title_And_Page($_GET['page'])->setTitle();
}
else
{
$page_title = 'Default title here';
}
HTML
<title><?= $page_title ?></title>