/** * 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); }
/** * Path to xml file. * * @return string */ protected function _xmlFile() { return $this->getPath() . DS . $this->_module->getFileName(); }
/** * Create module for frontend. * * @return void */ private function __createModules() { $Modules = Module::getInstance(); $Modules->create(); }
/** * 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')); }