У меня есть сценарий действия/просмотра, который отображает таблицу строк, и каждая строка кликабельна: я хочу, чтобы это действие обновляло определенный div с более подробной информацией о строке. Однако, когда я это делаю, исходная таблица теряется (представление очищается). Как я могу получить действие для отображения определенного скрипта, но не для контейнера макета по умолчанию? (в данном случае layout->content()) Примечание. Я могу использовать _forward() или подобное, но мне было интересно, есть ли более элегантное решение.
Мое действие с деталями контроллера выглядит так
public function detailAction()
{
// action body
$clientModel = new Model_Clients();
$id = $this->_request->getParam('id');
// get the specific row by 'id'
try {
$result = $clientModel->getClient($id);
$this->view->result = $result;
} catch (Exception $e) {
echo 'Error: ', $e->getMessage(), "\n";
//die();
}
$this->render('detail', 'mainContentRight');
//$this->listAction(); !This doesnt work!
$this->_forward('list'); // Nasty, but works.
}
«Подробности» относятся к сценарию просмотра этого действия (кажется избыточным), а «mainContentRight» — это целевой элемент макета для обновления.
Я думаю, что мне не хватает жизненно важного момента в сценариях просмотра, любые советы приветствуются.