0

好的,所以基本上每当有人进入网站时,图标都是相同的颜色(白色)我希望这段代码执行以下操作:每当有人转到另一个页面(通过单击其他图标之一)时他要去的页面应该有不同的颜色(蓝色,这是通过加载另一个图像来完成的)但只有那个页面,这也应该在他刷新页面时保持不变?这是我为单个图标提供的当前代码,它还没有工作,我不确定出了什么问题..

<?php Yii::app()->session['/home'] = '1';
  $home = Yii::app()->session['/home'];
  //echo Yii::app()->session['home']; // Prints "value"
  if (!empty($home)){ ?>
        <a href="<?php echo $this->createUrl("/admin/survey/sa/index")."/home"; ?>">
        <img src='<?php echo $sImageURL;?>home.png' alt='<?php $clang->eT("Default administration page");?>' width='<?php echo $iconsize;?>' height='<?php echo $iconsize;?>'/></a>
    <?php
    } 
    else{?>
        <a href="<?php echo $this->createUrl("/admin/survey/sa/index")."/home1"  ?>">
        <img src='<?php echo $sImageURL;?>home1.png' alt='<?php $clang->eT("Default administration page");?>' width='<?php echo $iconsize;?>' height='<?php echo $iconsize;?>'/></a>
    <?php
    }
    ?>   
4

1 回答 1

0

我同意伊沃的观点;我认为最好使用 CSS 类来做到这一点。您将让默认 CSS 类具有 home1.png 的背景图像,而蓝色类具有 home.png 的背景图像。如果我这样做,我也会使用 CSS 精灵。

但是,使用你所拥有的。这是在 Yii 中执行此操作的一种方法:

<?php
  // Get the current URI
  $currentUri = Yii::app()->request->requestUri;

  if($currentUri == '/admin/survey/sa/index'){

?>
  <a href="<?php echo $this->createUrl("/admin/survey/sa/index")."/home1"  ?>">
    <img src='<?php echo $sImageURL;?>home1.png' alt='<?php $clang->eT("Default administration page");?>' width='<?php echo $iconsize;?>' height='<?php echo $iconsize;?>'/>
  </a>

<?php

  }else{

?>
  <a href="<?php echo $this->createUrl("/admin/survey/sa/index")."/home1"  ?>">
    <img src='<?php echo $sImageURL;?>home1.png' alt='<?php $clang->eT("Default administration page");?>' width='<?php echo $iconsize;?>' height='<?php echo $iconsize;?>'/>
  </a>

<?php

  }
?>

对于其他图标,您可以重用该$currentUri变量。您无需设置任何会话。当您刷新页面时,图标仍将保持彩色。

于 2013-04-25T17:20:01.700 回答