示例#1
0
 public function bodyCssClass()
 {
     $page = WasabiCms::page();
     $classes = [];
     $classes[] = 'layout-' . Inflector::dasherize($page->layout);
     $classes[] = 'page-' . Inflector::dasherize($page->slug);
     return implode(' ', $classes);
 }
示例#2
0
 public function view($pageId, $languageId, $pageNumber)
 {
     Wasabi::loadLanguages($languageId);
     $this->loadModel('Wasabi/Cms.Pages');
     $page = $this->Pages->getForFrontend($pageId);
     $startPage = $this->Pages->getStartPage();
     $titleSuffix = Configure::read('Settings.Core.html_title_suffix');
     $instanceName = Configure::read('Settings.Core.instance_name');
     WasabiCms::page($page);
     WasabiCms::startPage($startPage);
     WasabiCms::titleSuffix($titleSuffix);
     WasabiCms::instanceName($instanceName);
     $page->initializeContentAreas();
     $this->viewBuilder()->theme($page->getTheme()->getNameForViewBuilder());
     $this->viewBuilder()->layout($page->getLayout()->name());
     $this->viewBuilder()->className($page->getTheme()->getViewClassNameForViewBuilder());
     $this->set(['page' => $page]);
 }
示例#3
0
 /**
  * Get the title for the given $entity.
  *
  * @param PublishableEntity $entity The entity, e.g. Page or Post.
  * @return string
  */
 protected function _getTitle($entity)
 {
     $title = $entity->page_title;
     if ((bool) $entity->display_page_title_suffix) {
         $title .= WasabiCms::titleSuffix();
     }
     return $title;
 }
示例#4
0
 public function isMenuItemActive(Event $event, Request $request)
 {
     /** @var MenuItem $menuItem */
     $menuItem = $event->subject();
     $pageId = $menuItem->get('Pages')['id'] ?? null;
     if ($menuItem->foreign_model !== 'Wasabi/Cms.Pages' || $pageId === null) {
         return;
     }
     if ((int) $pageId === WasabiCms::page()->id) {
         $event->result = true;
         $event->stopPropagation();
     }
 }
示例#5
0
文件: Module.php 项目: wasabi-cms/cms
 /**
  * Render the Form for this module (in.ctp).
  *
  * @return string
  */
 public function renderForm()
 {
     $template = $this->path() . DS . 'in.ctp';
     if (!file_exists($template)) {
         user_error(__d('wasabi_cms', 'Template "{0}" for module {1} not found.', $template, $this->name()));
     }
     $viewClass = WasabiCms::getTheme()->getClassNameForInitialization();
     /** @var View $view */
     $view = new $viewClass();
     $output = $view->element('Wasabi/Cms.module', ['template' => $template, 'form' => $this]);
     return $output;
 }
示例#6
0
 public function attributes($id)
 {
     $layout = $this->request->query['layout'];
     $layout = WasabiCms::getTheme()->getLayout($layout);
     $attributes = $layout->attributes();
     $page = $this->Pages->get($id, ['contain' => ['Attributes']]);
     $this->set(['page' => $page, 'attributes' => $attributes]);
     $this->viewBuilder()->layout(false);
 }