Beispiel #1
0
 public function boot()
 {
     // sleep(1);
     Event::listen('cms.page.beforeDisplay', function ($controller, $url, $page) {
         if ($params = post('X_OCTOBER_NG_PARAMS')) {
             $controller->getRouter()->setParameters($params);
         }
     });
     Event::listen('cms.page.display', function ($controller, $url, $page) {
         if (array_key_exists('ng-page', Input::all()) && $controller->getAjaxHandler() === null) {
             if ($content = $controller->renderPage()) {
                 return $content;
             }
             // If we don't return something, this will cause an infinite loop
             return '<!-- No content -->';
         }
     });
     Event::listen('cms.page.init', function ($controller, $page) {
         if ($partial = post('ng-partial')) {
             return $controller->renderPartial($partial);
         }
     });
     Event::listen('backend.form.extendFields', function ($widget) {
         if (!$widget->getController() instanceof \Cms\Controllers\Index) {
             return;
         }
         if (!$widget->model instanceof \Cms\Classes\Page) {
             return;
         }
         PageScript::fromTemplate($widget->model)->populate();
         $widget->addFields(['script' => ['tab' => 'Script', 'stretch' => 'true', 'type' => 'codeeditor', 'language' => 'javascript']], 'secondary');
     });
     Event::listen('cms.template.save', function ($controller, $template, $type) {
         if ($type != 'page') {
             return;
         }
         $script = PageScript::fromTemplate($template);
         $script->fill(post('script'));
         $script->save();
     });
 }
Beispiel #2
0
 public function onGetPageDependencies()
 {
     $response = [];
     $this->pageCycle();
     /*
      * Add the front-end controller, if available.
      */
     $page = array_get($this->page['this'], 'page');
     $pageScript = PageScript::fromTemplate($page);
     if ($scriptPath = $pageScript->getPublicPath()) {
         $this->addJs($scriptPath . '?v=' . $page->mtime);
     }
     /*
      * Detect assets
      */
     if ($this->controller->hasAssetsDefined()) {
         $response['X_OCTOBER_ASSETS'] = $this->controller->getAssetPaths();
     }
     $response['scope'] = $this->scope;
     return $response;
 }