Inheritance: extends AbstractFormContent
Example #1
0
 /**
  * Edit layout
  *
  * @return \Zend\View\Model\ViewModel
  */
 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);
 }