Вы можете сделать запрос на страницу (контроллер и действие определяется маршрутами) внутри. Вы можете сделать это, например:
class Controller_Menu extends Controller
{
public function action_index()
{
$this->request->response = view stuff ...
$this->request->response->set('...', ...) // some vars
}
}
и
class Controller_Home extends Controller
{
public function action_index()
{
$this->request->response = ...; // some view stuff...
$this->request->response->set('menu',
Request::factory('menu')->execute()->response // here happens the magic
);
}
}
Каждая страница, у которой есть меню, не должна выполнять всю логику для загрузки меню и т. Д. (Например, из моделей). Вы просто делаете запрос к контроллеру, выполняете его и получаете результат. Очень полезно при правильном использовании.