public function outputHeader($begin = array(), $title = '', $script = '', $css = '', $embed = false) { $title = sprintf('Управление конфигом "%s"', $this->schema->getTitle()); $begin = array('Управление конфигами' => './index.php', $title => '#'); parent::outputHeader($begin, $title, array(\Extasy\CMS::getResourcesUrl() . 'extasy/Dashboard/custom_config/manage.js')); }
public function outputHeader($aBegin = array(), $szTitle = array(), $aScript = array(), $aCSS = array(), $embed = false) { $title = 'Управление конфигами'; $begin = array($title => '#'); parent::outputHeader($begin, $title); }
/** * Отображает форму редактирования элемента * * @param $aTabSheet array, хеш-массив имен вкладок и полей внутри их * @param $aButtons array, хеш-массив кнопок необходимых к выводу */ public function getAdminUpdateForm($aTabSheet = array(), $aButtons = array(), $begin = array(), $title = '') { if ($this->withSitemap) { $this->needSitemapData(); } // Получаем информацию о типе данных, его полях $aType = static::getFieldsInfo(); // Если пусты вкладки редактировании, то ищем информацию о них в самом типе if (empty($aTabSheet)) { if (!empty($aType['cms_tabsheets'])) { $aTabSheet = $aType['cms_tabsheets']; // Применяем автоматическую сортировку ksort($aTabSheet); // А теперь вырезаем лидирующие цифры $tmp = $aTabSheet; $aTabSheet = array(); foreach ($tmp as $key => $row) { $key = preg_replace('#^[0-9]+#', '', $key); $aTabSheet[$key] = $row; } } else { throw new Exception('Form layout empty. It must be defined in child class!'); } } // $nCounter = 0; foreach ($aTabSheet as $key => $row) { $aResultTabSheet[] = array('id' => 'tab_' . $nCounter, 'title' => $key); $nCounter++; } // Добавляем вкладку о свойствах документа в карте сайта1 if ($this->withSitemap) { $this->needSitemapData(); $aResultTabSheet[] = array('id' => 'tab_sitemap', 'title' => 'Свойства'); } // Выводим заголовок документа $design = CMSDesign::getInstance(); if (isset($this->columns['name'])) { $titleTemplate = 'Редактирование "%s"'; $szTitle = sprintf($titleTemplate, cuttext($this->name->getValue(), 48)); // 48!!! } else { $szTitle = self::getLabel(self::labelEditItem); } if (!empty($begin)) { $aBegin = $begin; } else { $aParent = Sitemap_CMS::getParents($this->sitemapInfo['id']); // Вырезаем самих себя из массива array_pop($aParent); $aBegin = Sitemap_CMS::selectBegin($aParent, $szTitle); $submenu = Sitemap_CMS::generateDocumentSubmenu($this->getModelName(), $this->sitemapInfo, $aBegin); $aButtons = array_merge($aButtons, $submenu); } $page = new AdminPage(); $page->outputHeader($aBegin, $szTitle); // выводим кнопки, если они есть if (!empty($aButtons)) { $design->buttons($aButtons); } // Вывод всех вкладок $design->formBegin(); $design->submit('submit', _msg('APPLY')); $design->tabSheetBegin($aResultTabSheet); foreach ($aResultTabSheet as $key => $row) { if ($key == sizeof($aResultTabSheet) - 1) { if ($this->withSitemap) { // Вывод вкладки свойств-документа $this->outputSitemapTabSheet($row); continue; } else { } } // Вывод вкладки на редактиование $this->outputFormTabSheet($design, $row, $aTabSheet[$row['title']], $aType['fields'], $this->columns); } $design->tabSheetEnd(); // Завершаем вывод формы if ($this->withSitemap) { $design->hidden('sitemapId', $this->sitemapInfo['id']); } else { $design->hidden('typeName', Static::ModelName); $design->hidden('id', $this->id->getValue()); } $design->submit('submit', _msg('APPLY')); $design->formEnd(); $page->outputFooter(); }