Eu tenho no controlador este layout:
public $layout='//layouts/column2';
No Column2:
…
<div class="span-17 last">
Como posso acrescentar mais uma classe a este div apenas numa certa view?
Eu tenho no controlador este layout:
public $layout='//layouts/column2';
No Column2:
…
<div class="span-17 last">
Como posso acrescentar mais uma classe a este div apenas numa certa view?
in controller use like this
em uso controlador como esse
$this->layout=‘print_wrapper’;
Mas tenho que utilizar outro layout só por causa de uma classe diferente?
Sim, eu penso assim
Não posso passar parametros para dentro do layout?
pode fazer assim:
<div class="span-17 last<? if($this->getId()=='meucontroller' && $this->getAction()->getId() == 'nomedaaction'): echo " classe-especifica"; ?>">
E no caso de serem várias views?
Não dá para enviar um parâmetro em vez de dizer especificamente qual é a view?
Voce também pode aplicar o nome da classe consoante a ação, assim:
<div class="span-17 last<? echo $this->getId() . '-' $this->getAction()->getId(); ?>">
e no css aplicar o estilo para as suas actions:
.controller-accao1 {
...
}
.controller-accao2, .controller-accao3 {
...
}
A yii framework utiliza Blueprint como CSS framework dái termos definido na definição da nossa aplicação por defeito :
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()-
>request->baseUrl; ?>/css/main.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()-
>request->baseUrl; ?>/css/form.css" />
para definir um layout diferente temos que aplicar o controlador , algo deste genêro:
class Login extends Controller
{
// significa que vamos ter um ficheiro css com o nome newlayout.css referente que vai ser executado sempre
// que a página de login for executada
public $layout='newlayout';
}
Espero que tenha ajudado
Cumprimentos