/** * @param integer $nodeId * @param integer $slotId * @param array $params * * @return string */ public function renderSingleSlot($nodeId = null, $slotId = 1, $params = array()) { $params['id'] = $slotId; $disableEditor = isset($params['_disable_editor']) && $params['_disable_editor'] ? true : false; if ($this->editMode->isEditMode() && !$disableEditor) { return '<div class="jarves-slot jarves-single-slot" params="' . htmlspecialchars(json_encode($params)) . '"></div>'; } if (!$nodeId) { $nodeId = $this->pageStack->getCurrentPage()->getId(); } $contents = $this->getSlotContents($nodeId, $slotId); return $this->renderSlotContents($contents, $params); }
/** * Build the page and return the PageResponse. * * Checks for links, mounts etc. * * @return Response * @throws AccessDeniedException * @throws \Exception */ public function handleAction() { $node = $this->pageStack->getCurrentPage(); //is link if ($node->getType() == 1) { $to = $node->getLink(); if (!$to) { throw new \Exception('Redirect failed: ' . sprintf('Current page with title %s has no target link.', $node->getTitle())); } if (intval($to) > 0) { return new RedirectResponse($this->pageStack->getNodeUrl($to), 301); } else { return new RedirectResponse($to, 301); } } if ($this->editMode->isEditMode()) { $this->editMode->registerEditor(); } $pageResponse = $this->pageStack->getPageResponse(); $pageResponse->renderContent(); return $pageResponse; //new Response('<body>ho</body>'); }
/** * @return string */ public function getLayout(Node $node) { if ($nodeId = (int) $this->pageStack->getRequest()->get('_jarves_editor_node')) { if ($this->editMode->isEditMode($nodeId)) { if ($layout = $this->pageStack->getRequest()->get('_jarves_editor_layout')) { return $layout; } } } return $node->getLayout(); }