public function editAction()
{
$layoutId = $this->getRouteMatch()->getParam('id', null);
$layoutModel = Layout\Model::fromId($layoutId);
if (empty($layoutId) or empty($layoutModel)) {
return $this->redirect()->toRoute('development/layout');
}
$layoutForm = new LayoutForm();
$layoutForm->setAttribute('action', $this->url()->fromRoute('development/layout/edit', array('id' => $layoutId)));
$layoutForm->loadValues($layoutModel);
if ($this->getRequest()->isPost()) {
$data = $this->getRequest()->getPost()->toArray();
$layoutForm->setData($data);
if (!$layoutForm->isValid()) {
$this->flashMessenger()->addErrorMessage('Can not save layout');
$this->useFlashMessenger();
} else {
$layoutModel->setName($layoutForm->getValue('name'));
$layoutModel->setIdentifier($layoutForm->getValue('identifier'));
$layoutModel->setDescription($layoutForm->getValue('description'));
$layoutModel->setContent($layoutForm->getValue('content'));
$layoutModel->save();
$this->flashMessenger()->addSuccessMessage('This layout has been saved');
return $this->redirect()->toRoute('development/layout/edit', array('id' => $layoutId));
}
}
return array('form' => $layoutForm, 'layoutId' => $layoutId);
}