简体   繁体   English

使用PHP包含时如何更改标头?

[英]How can I make a change in the header while I'm using the PHP include?

I'm using include for the header and it's have this 我正在使用include作为标题,并且有这个

<li><a href="arrangements.php"><span>Arrangements</span></a></li>
<li><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
<li><a href="events.php"><span>Special Events</span></a></li>

and I want only any current opened page get the class="current" like this 而且我只希望任何当前打开的页面都像这样的class =“ current”

<li class="current"><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>

You can do it like this: 您可以这样做:

<?php
$menus = array();
$menus['Arrangements'] = 'arrangements.php';
$menus['Build-a-Bouquet'] = 'bouquet.php';
$menus['Special Events'] = 'events.php';
?>
<ul>
<?php
$currnet_page = $_SERVER['PHP_SELF'];
if (! empty($menus)) {
 foreach ($menus as $menu => $menu_link) {
  $isCurrent = ($currnet_page == $menu_link) ? 'current' : '';
?>
<li class="<?php echo $isCurrent;?>"><a href="<?php echo $menu_link;?>"><span><?php echo $menu;?</span></a></li>
<?php        
  }
 }
?>
</ul>

Try something like this: 尝试这样的事情:

$active = "bouquet";
include("navigation.php");

Navigation: 导航:

<li<?php if( isset($active) && $active == "arrangements") echo " class='active'";?>><span>Arrangements</span></li>
... And so on.

This is just a quick example, $_SERVER['PHP_SELF'] can do the job. 这只是一个简单的示例, $_SERVER['PHP_SELF']可以完成此工作。

<li><a href="arrangements.php"><span>Arrangements</span></a></li>
<?php
if($_SERVER['PHP_SELF'] == '/bouquet.php'){
    echo '<li class="current"><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>';
}else{
    echo '<li><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>';
}
?>
<li><a href="events.php"><span>Special Events</span></a></li>

There are a few ways you can do it. 有几种方法可以做到。 Choose the one you like: 选择您喜欢的一个:

1) Set $current_ var you want and use: 1)设置所需的$ current_ var并使用:

<li><a<? echo isset($current_arrangements) ? 'class="current"' : ''; ?>href="arrangements.php"><span>Arrangements</span></a></li>
<li><a<? echo isset($current_bouquet) ? 'class="current"' : ''; ?>href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
<li><a<? echo isset($current_special_events) ? 'class="current"' : ''; ?>href="events.php"><span>Special Events</span></a></li>

2) same as above but use one variable and check for its value (exactly the way Niet the Dark Absol wrote) 2)与上述相同,但使用一个变量并检查其值(正是Niet the Dark Absol编写的方式)

3) wrap it to some function 3)将其包装到某些功能

<?
// Echo Class If Current
function ecic($page) {
 echo eregi($page, $_SERVER['PHP_SELF']) ? 'class="current"' : '';
}
?>


<li><a <? ecic('arrangements'); ?>href="arrangements.php"><span>Arrangements</span></a></li>
<li><a <? ecic('bouquet'); ?>href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
<li><a <? ecic('events'); ?>href="events.php"><span>Special Events</span></a></li>

BTW: In most common PHP configurations you can use just <? 顺便说一句:在大多数常见的PHP配置中,您只能使用<? instead of <?php . 而不是<?php

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM