@EVOSandru6

Как можно переключаться с одного подшаблон на другой в разных модулях?

Добрый день,

Хочу чтобы в созданном модуле админки были несколько подшаблонов. Создал пока 4 - По умолчанию column1 и column2 и продублировал их column1-admin и column2-admin

class AdminModule extends CWebModule
{
	public function init()
	{
        $this->layout =  '/layouts/main';
	}
}

class DefaultController extends Controller
{
	public function actionIndex()
	{
        $this->layout = '//layouts/column1';
		$this->render('index');
	}

    public function actionView()
    {
        $this->layout = '//layouts/column2';
        $this->render('index');
    }
}


column1.php

<?php $this->beginContent('//layouts/main'); ?>
<div id="content">
    column1
	<?php echo $content; ?>
</div><!-- content -->
<?php $this->endContent(); ?>


column2.php

<?php $this->beginContent('//layouts/main'); ?>
<div class="span-19">
	<div id="content">
        column2
		<?php echo $content; ?>
	</div><!-- content -->
</div>
<div class="span-5 last">

	<div id="sidebar">

	<?php
		$this->beginWidget('zii.widgets.CPortlet', array(
			'title'=>'Operations',
		));
		$this->widget('zii.widgets.CMenu', array(
			'items'=>$this->menu,
			'htmlOptions'=>array('class'=>'operations'),
		));
		$this->endWidget();
	?>
	</div><!-- sidebar -->
</div>
<?php $this->endContent(); ?>


У меня в контроллере default ни на одном экшене не выходит слово: column1 или column2.

Пробовал в init модуля прописать как тут vispyanskiy.name/ru/kak-zadat-shablon-dlya-modulya... :

$this->layoutPath = Yii::getPathOfAlias('admin.views.layouts');
$this->layout = 'main';


Потом пробовал установить путь из экшенов DefaultController:

$this->layout = 'admin.views.layouts.main.column1';


Влетаю в текст с моим контентом, но без стилей, т.е. тема не подключается.

По Совету этого китайца https://www.youtube.com/watch?v=Nc0ED8_VsT4 :
Закомментировал в protected/components/Controller.php :

// public $layout = '//layouts/column1';
Но это не помогло.

К данному виду я спокойно могу подключиться:
admin.views.layouts.main

Но так не интересно, хочется брать еще и подшаблоны.

Помогите пожалуйста.
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы