Как сделать 2 view в одном контроллере?

У меня есть 2 таблички:

  1. Пункты меню

  2. Контент

Соотвественно 2 модели и 2 контроллера.

В каждом из них


const PAGE_SIZE=10;

и в кадом представлении

вызывается виджет:


$this->widget('CLinkPager',array('pages'=>$pages));

Как мне отобразить меню по урл (menu/admin) и контент по урл (content/admin)

грамотно на одной странице?

Имеется ввиду например менюшка которая по (menu/admin) например слева а (content/admin)

справа. Но на одной странице.

Тоесть получается что 2(View) надо на одну страницу поставить. Может как то через лейаут?

Сейчас вывожу menu/admin, а контент из view, но думаю что так неправильно, потому что CLinkPager работает естессно только для разделов меню, а мне хотелось бы чтобы для контента работало только. К тому же и логика во представлении появилась.

Если кто не понял вопроса то


		$this->render('admin',array(

			'models'=>$models,

			'pages'=>$pages,

		));

выведет нам меню, а мне тут же надо отрендерить еще и вывод контента

Вот как Вы делаете?

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

Почитайте документацию про виджеты(widgets). Общий принцип такой - контентом рулит контроллер, всем остальным виджеты.

Угу спасибо, я както наподобие и сделал, только вот вопрос знатакам:

А виджет из виджета вызывается?

Ну просто если сформировать построение массива дерева меню в виджете и вызвать фреймворковский CTreeView из своего виджета, так можно делать?

Можно…

У меня в одном проекте есть виджет - сайдбар, который в зависимости от раздела сайта, отображает в себе другие виджеты…проблем пока не было…

Большоe спасибо за информацию, сейчас начну все переделывать, ато много повторяюшегося кода получилось во VIew

Надо сказать что код "почистился" заметно, стал понятным и легкочитаемым.

Спасибо всем за советы