我想使用<?php include 'header.php';?>
为网站的每个页面都包含一个标题,因此我只需要在一个地方更改标题即可。该网站将在总共20多个不同的页面上重复使用标题。我想知道的是,在使用php include时如何更改特定的突出显示文本?
我创建了一个网站,该网站的标题包含5个链接(家庭,投资组合,关于,联系方式和商店)。目前,我正在使用CSS代码通过突出显示所选链接(Page)向用户显示他们在网站的哪个部分。
在下面的示例中,主页“链接”以白色突出显示。 (请参见下面的CSS代码。)
下面的代码在标题中:
<nav>
<ul>
<li><a id="selected" href="index.html">Home</a></li>
<span>|</span>
<li><a href="portfolio.html">Portfolio</a></li>
<span>|</span>
<li><a href="about.html">About</a></li>
<span>|</span>
<li><a href="contact.html">Contact</a></li>
<span>|</span>
<li><a href="store.html">Store</a></li>
</ul>
</nav>
CSS代码:
/* Selected Link */
#selected {
color: white;
}
我是否需要一些代码来检测网站的某些部分,或者可以通过一些简单的方法手动操作突出显示的链接?这种事情的最佳实践是什么。谢谢您的投入。
答案 0 :(得分:3)
您可以在包含页眉之前在每个页面上添加$pageName
变量。例如在家:
$pageName = 'home';
<?php include 'header.php';?>
....
在header.php内
<nav>
<ul>
<li><a id="<?php echo $pageName == 'home' ? 'selected' : ''?>" href="index.html">Home</a></li>
<span>|</span>
<li><a href="portfolio.html">Portfolio</a></li>
<span>|</span>
<li><a href="about.html">About</a></li>
<span>|</span>
<li><a href="contact.html">Contact</a></li>
<span>|</span>
<li><a href="store.html">Store</a></li>
</ul>
</nav>
答案 1 :(得分:1)
这很适合您:
//PHP :
$curr_page = $_SERVER['REQUEST_URI']; // or basename(__FILE__)
//HTML :
<nav>
<ul style="background: #c02828;">
<li><a <?php if (strpos($curr_page, "index.html") !== false){ ?>id="selected" <?php } ?> href="index.html">Home</a></li>
<span>|</span>
<li><a <?php if (strpos($curr_page, "portfolio.html") !== false){ ?>id="selected" <?php } ?> href="portfolio.html">Portfolio</a></li>
<span>|</span>
<li><a <?php if (strpos($curr_page, "about.html") !== false){ ?>id="selected" <?php } ?> href="about.html">About</a></li>
<span>|</span>
<li><a <?php if (strpos($curr_page, "contact.html") !== false){ ?>id="selected" <?php } ?> href="contact.html">Contact</a></li>
<span>|</span>
<li><a <?php if (strpos($curr_page, "store.html") !== false){ ?>id="selected" <?php } ?> href="store.html">Store</a></li>
</ul>
</nav>