Beispiel #1
0
 /**
  * Create module for layout.
  *
  * @param $position
  * @return string
  */
 protected function _create($position)
 {
     $output = [];
     if ($modules = Hash::get($this->_positions, $position)) {
         $i = 0;
         $count = count($modules);
         foreach ($modules as $module) {
             if (!$this->_filterModule($module)) {
                 break;
             }
             $i++;
             $first = $i == 1 ? 'first' : '';
             $last = $count == $i ? 'last' : '';
             $style = $module->style ? $module->style : 'default';
             $Module = Module::get($module->getName(), $this->_View, $module);
             if ($content = $Module->render()) {
                 $output['module-' . $i] = $this->_View->element($this->_plugin . '.Modules' . DS . $style, ['number' => $i, 'last' => $last, 'first' => $first, 'module' => $module, 'content' => $content]);
             }
         }
     }
     return implode(PHP_EOL, $output);
 }
Beispiel #2
0
 /**
  * Path to xml file.
  *
  * @return string
  */
 protected function _xmlFile()
 {
     return $this->getPath() . DS . $this->_module->getFileName();
 }
Beispiel #3
0
 /**
  * Create module for frontend.
  *
  * @return void
  */
 private function __createModules()
 {
     $Modules = Module::getInstance();
     $Modules->create();
 }
Beispiel #4
0
 /**
  * Edit action.
  *
  * @param $id
  * @return \Cake\Network\Response|void
  */
 public function edit($id)
 {
     $module = $this->Modules->get($id);
     $alias = $module->module;
     $name = Inflector::camelize($alias);
     $Modules = Module::getInstance();
     $Modules->create();
     if (!$Modules->isExits($alias)) {
         throw new ModuleNotExitsException([$name]);
     }
     if ($this->request->is(['patch', 'post', 'put'])) {
         $module = $this->Modules->patchEntity($module, $this->request->data);
         if ($this->Modules->save($module)) {
             $this->Flash->success(__d('modules', 'Module has been updated.'));
             return $this->Union->setRedirect(['apply' => ['action' => 'edit', $id]]);
         } else {
             $this->Flash->error(__d('modules', 'Module could not be updated. Please, try again.'));
         }
     }
     $this->set(compact('name', 'module'));
 }