Я бы подошел к этому с помощью Ajax и использовал макет Ajax.
$this->layout('ajax')
Тогда вы сможете настроить полный стек для обработки этого и передавать различные вещи в качестве параметров в действия контроллера.
При использовании Ajax вам не нужно беспокоиться о передаче пары контроллер / действие реферера. Вы также можете использовать возврат из этого, чтобы обновить список, вызвав MessagesController
. Дополнительным бонусом этого является то, что вы можете просто переключать раскладку в ваших реальных контроллерах, таким образом, не нужно писать никакого дополнительного кода вообще.
В вашем контроллере вы можете проверить Ajax
if($this->params['requested']){
$this->layout('ajax');
return $data;
}else{
$this->set('data',$data);
}