Ogni controller ha impostata la proprietà del layout. Se ne apro uno a caso vedo questo:
public $layout = '//layouts/column2';
Se vuoi puoi impostarlo al volo dentro ad un metodo. Occhio a NON mettere l’estensione.
public function actionMappa() {
$layout = '//layouts/trecolonne';
}
Se noti, SiteController non ha impostata la proprietà layout. E tu ti chiederai: "e come fa a sapere che deve aprire main.php?". La risposta la trovi nella superclasse Controller (/protected/components/Controller.php):
<?php
class Controller extends CController {
public $layout = '//layouts/column2';
public $menu = array();
public $breadcrumbs = array();
}
Ogni controller ha impostata la proprietà del layout. Se ne apro uno a caso vedo questo:
public $layout = '//layouts/column2';
Se vuoi puoi impostarlo al volo dentro ad un metodo. Occhio a NON mettere l’estensione.
public function actionMappa() {
$layout = '//layouts/trecolonne';
}
Se noti, SiteController non ha impostata la proprietà layout. E tu ti chiederai: "e come fa a sapere che deve aprire main.php?". La risposta la trovi nella superclasse Controller (/protected/components/Controller.php):
<?php
class Controller extends CController {
public $layout = '//layouts/column2';
public $menu = array();
public $breadcrumbs = array();
}