Php 根据某些条件在菜单中提供链接

Php 根据某些条件在菜单中提供链接,php,yii,Php,Yii,我这里有个情况。在我的项目中,菜单部分包含一些锚定标记,当我们在索引页面中时,它将完美工作,但移动到其他页面时,我想给出那里的真实链接,因此我的问题是如何检查哪个页面正在查看,或者如何检查站点查看器不在索引页面中 <li><a href="#home" class="active">Home</a></li> <li><a href="#about_us">About Us</a></li> $fi

我这里有个情况。在我的项目中,菜单部分包含一些锚定标记,当我们在索引页面中时,它将完美工作,但移动到其他页面时,我想给出那里的真实链接,因此我的问题是如何检查哪个页面正在查看,或者如何检查站点查看器不在索引页面中

<li><a href="#home" class="active">Home</a></li>
<li><a href="#about_us">About Us</a></li>
$filename
将为您提供当前正在查看的页面的名称

你可以查一下

if($filename != 'index')
{
    echo '<li><a href="index.php/site/index#home" class="active">Home</a></li>
          <li><a href="#about_us">About Us</a></li>';
}
else
{
    echo '<li><a href="#home" class="active">Home</a></li>
              <li><a href="#about_us">About Us</a></li>';
}
if($filename!=“index”)
{
回声'
  • '; } 其他的 { 回声'
  • '; }
    请记住,
    $filename
    只提供文件名而不提供扩展名

    $filename
    将为您提供当前正在查看的页面的名称

    你可以查一下

    if($filename != 'index')
    {
        echo '<li><a href="index.php/site/index#home" class="active">Home</a></li>
              <li><a href="#about_us">About Us</a></li>';
    }
    else
    {
        echo '<li><a href="#home" class="active">Home</a></li>
                  <li><a href="#about_us">About Us</a></li>';
    }
    
    if($filename!=“index”)
    {
    回声'
  • '; } 其他的 { 回声'
  • '; }
    请记住,
    $filename
    只提供文件名而不提供扩展名

    您可以使用该小部件,它可以处理突出显示、外观等。此外,您还可以在以后使用自定义CSS

    <?php 
        $this->widget('zii.widgets.CMenu',array(
            'items'=>array(
                array('label'=>'Home', 'url'=> 'YOUR_URL#home'),
                array('label'=>'About Us', 'url'=>'YOUR_URL#about_us)'
            )
           ); 
    ?>
    
    您可以使用该小部件,它可以处理突出显示、外观等。此外,您还可以在以后使用自定义CSS

    <?php 
        $this->widget('zii.widgets.CMenu',array(
            'items'=>array(
                array('label'=>'Home', 'url'=> 'YOUR_URL#home'),
                array('label'=>'About Us', 'url'=>'YOUR_URL#about_us)'
            )
           ); 
    ?>
    

    首先为锚定标记提供id,然后设置如下条件

      <?php 
    // the php code
       $flag=strpos('index.php',$_SERVER['PHP_SELF'])
       {
      ?>
       <script>
               $(document).ready(function(){
                           $("#idofanchortg").attr('href','hrefyou want to add');
               });
    
       </script>
    <?php } ?>
    
    
    $(文档).ready(函数(){
    $(“#idofanchortg”).attr('href','hrefyou want add');
    });
    
    首先为锚定标记提供id,然后设置如下条件

      <?php 
    // the php code
       $flag=strpos('index.php',$_SERVER['PHP_SELF'])
       {
      ?>
       <script>
               $(document).ready(function(){
                           $("#idofanchortg").attr('href','hrefyou want to add');
               });
    
       </script>
    <?php } ?>
    
    
    $(文档).ready(函数(){
    $(“#idofanchortg”).attr('href','hrefyou want add');
    });
    
    您可以使用Yii提供的CMenu小部件

    您可以使用Yii提供的CMenu小部件
    首先,我宁愿把责任放在一个地方

    <li><a href="<?php echo $this->getHomeHrefLink(); ?>" class="active">Home</a></li>
    <li><a href="#about_us">About Us</a></li>
    
    来吧:我们可以通过$this->action(用于控制器名称)和$this->action->id(用于操作名称)来了解我们的位置:

    public function getHomeHrefLink() {
        return $this->createUrl('index/site', array());
    
    
        // when I'm in register page the href attribute is index.php/site/index#home
        return '#home;
    }
    

    首先,我宁愿把责任放在一个地方

    <li><a href="<?php echo $this->getHomeHrefLink(); ?>" class="active">Home</a></li>
    <li><a href="#about_us">About Us</a></li>
    
    来吧:我们可以通过$this->action(用于控制器名称)和$this->action->id(用于操作名称)来了解我们的位置:

    public function getHomeHrefLink() {
        return $this->createUrl('index/site', array());
    
    
        // when I'm in register page the href attribute is index.php/site/index#home
        return '#home;
    }
    

    为什么不总是使用index.php/site/index#home?@nischayn22,我们可以总是使用它,但它会跳过一些动画。为什么不总是使用index.php/site/index#home?@nischayn22,我们可以总是使用它,但它会跳过一些动画。默认情况下,活动项会附加到“活动”css类中,但是你也可以使用名为“activeCssClass”的CMenu选项更改它,并输入你的姓名。这没关系,但我在使用小部件时遇到了一些问题,我知道这件事。无论如何,感谢默认情况下,活动项被附加到“active”css类,但您也可以使用名为“activeCssClass”的CMenu选项更改它,并输入您的姓名。这没关系,但我在使用小部件时遇到了一些问题,我知道这件事。无论如何,谢谢