public function setRegion($region) { $this->region = $region; $subRegions = Region::filter(['parent' => $this->region->id, 'name' => 'column1']); foreach ($subRegions as $curRegion) { $this->add($curRegion, 'column1'); } }
protected function createControls() { $rootRegions = Region::loadByPageAndParent(Application::currentPage()->id, 0); foreach ($rootRegions as $region) { $control = $region->getBlock(); if ($control !== null) { $this->add($control); } } }
/** * */ protected function createControls() { $this->page = $this->controller->page; $this->setPostback('site', 'endEditPage', array('id' => $this->page->id, 'pa_site' => $this->page->pa_site, 'pa_module' => 'site', 'pa_action' => $this->page->pa_action, 'initPanel' => $this->request->initPanel)); $panel = new CaptionedTabPanelControl($this, 'panel'); $panel->setCaption('Seite » bearbeiten'); $tabStammdaten = $panel->tabs->addTab('Stammdaten'); $tabLayout = $panel->tabs->addTab('Layout'); $lookup = new LookupBoxControl(null, 'pa_parent'); $lookup->setLookupEntity(new Page())->setTextfield('pa_bezeichnung')->setValuefield('pa_id')->setGroupfield('parent')->setFilter(array('site' => $this->page->pa_site))->showNull(0, '-- Kein Parent --')->preSelect($this->page->pa_parent); $edit = new EditControl($tabStammdaten, 'edit'); $edit->setEntity($this->page)->addRow('pa_ausblenden')->addRow('pa_bezeichnung')->addRow('Parent-Page', $lookup)->addRow('pa_css')->addRow('-')->addRow('pa_link')->addRow('pa_description')->addRow('pa_keywords')->addRow('pa_icon'); $button = new SaveButtonControl($tabStammdaten, 'button'); // region Texte $texte = new TranslatedTextControl($tabStammdaten, 'texte'); $texte->setCaption('Angezeiger Text im Menü'); $texte->setElement($this->page->getElementId()); if ($this->request->action === 'newPage' && isset($this->request->text)) { $texte->setText($this->request->text); } // endregion // region Rechte $panelRechte = new CaptionedPanelControl($tabStammdaten, 'panelRechte'); $panelRechte->setCaption('Seiten » Berechtigungen'); $security = new SecurityCheckboxControl($panelRechte, 'berechtigung'); $security->setElement($this->page->getElementId()); // endregion // region Layout (Neu) if ($this->page->pa_action == 'composePage') { $rootRegions = Region::loadByPageAndParent($this->page->id, 0); foreach ($rootRegions as $region) { $block = $region->getBlock(); if ($block !== null) { $control = $block->toDesignModeHtml(); $tabLayout->add($control); } } $addRegion = new Controls\ChooseLayoutBlockControl($tabLayout, 'choose'); $addRegion->setPage($this->page); } // endregion // region Layout (alt) if ($this->page->pa_action == 'useInnerTemplate') { $choose = new Controls\ChooseTemplateControl($tabLayout, 'pa_innertemplate'); $choose->setChosenTemplate($this->page->pa_innertemplate); $choose->setOuterTemplate(Template::load($this->controller->site->si_template)); $edit = new Controls\EditRegionsControl($tabLayout, 'editInPlace'); $edit->setPageId($this->page->id); $edit->setRegions($this->page->getRegions()); $edit->setTemplate($this->page->pa_innertemplate); $button = new ButtonControl($tabLayout, 'button2'); $button->setCaption('Speichern')->setOnClick("\$('#initPanel').val(1); \$('#postback').submit();"); } // endregion }
public function addRegion() { $region = new Region(); $region->re_page = $this->request->page; $region->re_parent = $this->request->parent; $region->re_block = str_replace('::', '\\', $this->request->block); $region->save(); $this->request->id = $this->request->page; $this->request->initPanel = 1; }
public function install() { parent::install(); // Datensätze anlegen $site = new Site(); $site->si_bezeichnung = 'Administration'; $site->si_name = 'admin'; $site->si_urlpattern = 'admin.php'; $site->si_template = 'bootadmin'; $site->save(); // Struktur-Eintrag im Menü $page = new Page(); $page->pa_site = $site->id; $page->pa_parent = 0; $page->pa_bezeichnung = 'Struktur'; $page->pa_link = 'struktur'; $page->pa_pos = 0; $page->pa_title = 'Struktur'; $page->pa_module = 'site'; $page->pa_action = 'useInnerTemplate'; $page->pa_haschildren = false; $page->pa_innertemplate = 'normal'; $page->save(); $region = new Region(); $region->re_page = $page->id; $region->re_name = 'main'; $region->re_module = 'site'; $region->re_action = 'showSite'; $region->re_position = 1; $region->save(); Security::berechtigungSchreiben($page->getElementId(), 1, 1); Text::saveArray($page->getElementId(), array(1 => 'Struktur')); // Benutzer-Eintrag im Menü $page = new Page(); $page->pa_site = $site->id; $page->pa_parent = 0; $page->pa_bezeichnung = 'Benutzer'; $page->pa_link = 'benutzer'; $page->pa_pos = 0; $page->pa_title = 'Benutzer'; $page->pa_module = 'site'; $page->pa_action = 'useInnerTemplate'; $page->pa_haschildren = false; $page->pa_innertemplate = 'normal'; $page->save(); $region = new Region(); $region->re_page = $page->id; $region->re_name = 'main'; $region->re_module = 'user'; $region->re_action = 'indexUser'; $region->re_position = 1; $region->save(); Security::berechtigungSchreiben($page->getElementId(), 1, 1); Text::saveArray($page->getElementId(), array(1 => 'Benutzer')); // Modul-Eintrag im Menü $page = new Page(); $page->pa_site = $site->id; $page->pa_parent = 0; $page->pa_bezeichnung = 'Module'; $page->pa_link = 'module'; $page->pa_pos = 0; $page->pa_title = 'Module'; $page->pa_module = 'site'; $page->pa_action = 'useInnerTemplate'; $page->pa_haschildren = false; $page->pa_innertemplate = 'normal'; $page->save(); $region = new Region(); $region->re_page = $page->id; $region->re_name = 'main'; $region->re_module = 'modView'; $region->re_action = 'showModules'; $region->re_position = 1; $region->save(); Security::berechtigungSchreiben($page->getElementId(), 1, 1); Text::saveArray($page->getElementId(), array(1 => 'Module')); // Site-Definition Frontend $site = new Site(); $site->si_bezeichnung = 'Webseite'; $site->si_name = 'web'; $site->si_urlpattern = ''; $site->si_template = 'unify'; $site->save(); }
/** * Gibt die Regionen dieser Seite zurück, denen ein Eintrag zugeordnet wurde * @return array */ public function getRegions() { if ($this->regions === null) { $this->regions = Region::filter(array('page' => $this->id)); } return $this->regions; }