Пример #1
0
 /**
  * 테마를 출력한다.
  *
  * @return string
  */
 public function render()
 {
     // load assets
     $this->loadAssets();
     // get configuration data of theme
     $config = $this->getConfig();
     // get menu & selected menu
     $mainMenu = $this->getMenu($config, 'mainmenu', true);
     $selectedMenu = $this->selectedMenu;
     // get submenus
     $subMenus = [];
     if ($config['submenu1_title']) {
         $subMenus[$config['submenu1_title']] = $this->getMenu($config, 'submenu1');
     }
     if ($config['submenu2_title']) {
         $subMenus[$config['submenu2_title']] = $this->getMenu($config, 'submenu2');
     }
     if ($config['no_snb'] !== 'no_snb') {
         //$ctClass = 'container section';
         $sideMenu = $this->getMenu($config, 'mainmenu', true);
     }
     $config['sub'] = 'sub';
     $config['no_spot'] = '';
     $config['ct_class'] = 'container section';
     // render html
     return \View::make(Alice::getIdWith('views.sub'), compact('config', 'mainMenu', 'subMenus', 'selectedMenu', 'sideMenu'));
 }
Пример #2
0
 /**
  * 테마를 출력한다.
  *
  * @return string
  */
 public function render()
 {
     // load assets
     $this->loadAssets();
     // get configuration data of theme
     $config = $this->getConfig();
     $mainMenu = $this->getMenu($config, 'mainmenu');
     $subMenus = [];
     if ($config['submenu1_title']) {
         $subMenus[$config['submenu1_title']] = $this->getMenu($config, 'submenu1');
     }
     if ($config['submenu2_title']) {
         $subMenus[$config['submenu2_title']] = $this->getMenu($config, 'submenu2');
     }
     $config['no_snb'] = '';
     $config['no_spot'] = '';
     $config['snb'] = '';
     $config['ct_class'] = '';
     // render html
     return \View::make(Alice::getIdWith('views.main'), compact('config', 'mainMenu', 'subMenus'));
 }
Пример #3
0
 public function update(Request $request)
 {
     $config = $request->only(['title', 'mainmenu', 'submenu1', 'submenu1_title', 'submenu2', 'submenu2_title', 'slide_img1', 'slide_img2', 'slide_img3', 'slide_video', 'sub_bg', 'sidemenu2', 'sidemenu_title', 'mode', 'no_snb', 'bg_none', 'header_scroll']);
     $oldConfig = \Theme::getThemeConfig($this->configId);
     // process images
     /** @var \Xpressengine\Storage\Storage $storage */
     $storage = app('xe.storage');
     /** @var MediaManager $media */
     $media = app('xe.media');
     $imageInputs = ['slide_img1', 'slide_img2', 'slide_img3', 'slide_video', 'sub_bg'];
     foreach ($imageInputs as $key) {
         $uploadedFile = array_get($config, $key);
         $configId = $key . 'Id';
         $configPath = $key . 'Path';
         if ($uploadedFile !== null) {
             // remove old logo file
             if (isset($oldConfig[$configId])) {
                 $oldFileId = $oldConfig[$configId];
                 $oldFile = $storage->get($oldFileId);
                 if ($oldFile) {
                     $storage->remove($oldFile);
                 }
             }
             $file = $storage->upload($uploadedFile, Alice::getId(), null, 'plugin');
             $mediaFile = $media->make($file);
             $fileId = $file->getId();
             $filePath = $mediaFile->url();
             $config[$configId] = $fileId;
             $config[$configPath] = $filePath;
         } else {
             $config[$configId] = array_get($oldConfig, $configId);
             $config[$configPath] = array_get($oldConfig, $configPath);
         }
     }
     \Theme::setThemeConfig($this->configId, $config);
     return \Redirect::back()->with('alert', ['type' => 'success', 'message' => '저장되었습니다.']);
 }
Пример #4
0
 /**
  * 테마 편집 페이지에서 편집할 수 있는 파일의 목록을 반환한다.
  *
  * @return array
  */
 public static function getEditFiles()
 {
     return ['template' => ['main.blade.php' => Alice::getPath('views/main.blade.php'), 'site.blade.php' => Alice::getPath('views/site.blade.php'), 'sub.blade.php' => Alice::getPath('views/sub.blade.php'), 'theme.blade.php' => Alice::getPath('views/theme.blade.php')], 'stylesheets' => ['theme.css' => Alice::getPath('assets/css/theme.css')]];
 }