Javascript Yii:会话脚本

时间:2013-04-25 09:59:04

标签: php image session frameworks yii

好的,所以基本上每当有人进入网站时,图标都是相同的颜色(白色)我希望这些代码做以下事情:每当有人去另一个页面时(通过点击其他图标之一)他要去的页面的图标应该有不同的颜色(蓝色,这是通过加载另一个图像来完成的),但只有那个页面,这应该在他刷新页面时保留吗? 这是我对单个图标的当前代码,它还没有工作,我不知道出了什么问题。

<?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
    }
    ?>   

1 个答案:

答案 0 :(得分: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变量。您不需要设置任何会话。刷新页面时,图标仍将保持颜色。