Я полагаю, что в этом действии вы могли бы просто вызвать переменную $layout
.
public function actionYourAction()
{
$this->layout = 'nameOfYourAltLayout';
}
Инструкции в приведенной ниже ссылке указывают, что вам придется устанавливать эту переменную для каждого действия, поскольку вы не можетепросто установите общедоступную переменную по умолчанию и ожидайте, что другие действия по умолчанию вернутся к этому.
http://www.yiiframework.com/wiki/28/how-to-implement-multiple-page-layouts-in-an-application/
:: Edit ::
Похоже, что здесь лучше всего определять переменную $layout
в скрипте видадля конкретного действия, которое вызывает его.Например, если ваше действие вызывает viewscriptone.php
, тогда файл представления viewscriptone будет содержать:
$this->layout = 'nameOfYourAltLayout';
Здесь больше смысла переопределять, чем в действии контроллера.Однако, как сказал LDG, если макет условный, вы, вероятно, должны хранить его в контроллере.Эту информацию все еще можно найти по ссылке выше в разделе «Использование макетов» на странице.