我有一个动作/视图脚本,显示一个行表,每行都是可点击的:我希望此操作更新特定的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.
}
'detail'指的是此动作的视图脚本(似乎是多余的),'mainContentRight'是要更新的目标布局元素。
我认为我在视图脚本中缺少一个重要的观点,欢迎任何建议。
答案 0 :(得分:0)
转发后,您仍需要与listAction中相同的表数据。然后表应该正确呈现,但我认为更好的方法是使用AJAX加载详细信息。