Quali e quante sono le varibiali fornite da Yii

In verità me ne servono solo un paio: la classe ed il metodo.

In sostanza, dato il link index.php?r=site/index avrei la necessità di poter risalire alla classe ed al metodo. Vorrei, però evitare di farlo a manazza perchè voglio rispettare il workflow i Yii.




<div class="<?php  ?>" style="float:left;"><a href="<?php echo $url=$this->createUrl("index"); ?>">home</a></div>

<div class="off" style="float:left;"><a href="<?php echo $url=$this->createUrl("chisiamo"); ?>">chi siamo</a></div>

<div class="off" style="float:left;"><a href="<?php echo $url=$this->createUrl("servizi"); ?>">servizi</a></div>

<div class="off" style="float:left;"><a href="<?php echo $url=$this->createUrl("contatti"); ?>">conattti</a></div>



Devo dare alla classe delle voci di menu "on" oppure "off". Pensavo a qualche cosa come


<?php echo $pagina == "index" ? "on" : "off"; ?>

<?php echo $pagina == "chisiamo" ? "on" : "off"; ?>

<?php echo $pagina == "servizi" ? "on" : "off"; ?>

<?php echo $pagina == "contatti" ? "on" : "off"; ?>

Suggerimenti?

Non si chiamano classe e metodo, ma controller ed action.




Controller: $this->id

Model: $this->action->id



Questo lo puoi fare quando sei in un controller o in una view (quindi $this e’ un controller, che ha le proprieta’ id ed action).

Se sei in un widget, puoi usare $this->controller->id e cosi’ via.

P.S: non tutti i lettori del forum italiano sono madrelingua italiani, evitiamo troppo gergo o li metteremo in difficolta’

Ecco il risultato:




<div class="<?php echo $this->action->id == "index" ? "on" : "off"; ?>" style="float:left;"><a href="<?php echo $url=$this->createUrl("index"); ?>">home</a></div>

<div class="<?php echo $this->action->id == "chisiamo" ? "on" : "off"; ?>" style="float:left;"><a href="<?php echo $url=$this->createUrl("chisiamo"); ?>">chi siamo</a></div>

<div class="<?php echo $this->action->id == "servizi" ? "on" : "off"; ?>" style="float:left;"><a href="<?php echo $url=$this->createUrl("servizi"); ?>">servizi</a></div>

<div class="<?php echo $this->action->id == "contatti" ? "on" : "off"; ?>" style="float:left;"><a href="<?php echo $url=$this->createUrl("contatti"); ?>">conattti</a></div>