public function actionIndex() { $this->needAuthenticate(); $galleryId = Param::get('gallery_id')->asInteger(true, 'Недопустимое значение номера галереи.'); /** @var Gallery $oGallery */ $oGallery = DataSource::factory(Gallery::cls(), $galleryId); if (!$oGallery) { SCMSNotificationLog::instance()->pushError("Запрошенная галерея с номером \"{$galleryId}\" не существует."); $this->Frame->render(); return; } $pageNumber = Param::get('gallery-item-page', false)->asInteger(false); $itemsPerPage = Param::get('gallery-item-items-per-page', false)->asInteger(false); $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $dataGridView = new ViewDataGrid(); $retriever = new GalleryRetriever(); $dataGrid = new DataGrid('item', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->getMenu()->addElement(new Item('Добавить элемент', "/admin/modules/gallery/item/edit/?gallery_id={$oGallery->id}")); $dataGrid->addAction(new Action('id', "/admin/modules/gallery/item/edit/?gallery_id={$oGallery->id}", 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/gallery/item/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('item-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Название', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('item-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('item-filter-description', false)->asString(false)))->addHeader(new Header('path', 'Миниатюра', new ViewCondition(new ViewImageLink(true, ['class' => 'fancybox'], ['class' => 'img-rounded', 'style' => 'height: 20px;']), [['field' => 'path', 'value' => '/public/assets/images/system/no-image.svg', 'view' => new ViewStub('<span class="glyphicon glyphicon-picture"></span>')]]), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center']))->addHeader(new Header('position', 'Позиция', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('item-filter-position', false)->asString(false))); $galleries = $retriever->getGalleryItems($oGallery, $dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset()); $dataSet = new ArrayDataSet($galleries); $dataGrid->addDataSet($dataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Галереи', '/modules/gallery'), new Breadcrumb("Элементы галереи \"{$oGallery->name}\"", '')]; $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function actionIndex() { $this->needAuthenticate(); $parentCategoryId = Param::get('parent_pk', false); if ($parentCategoryId->exists()) { $parentCategoryId = $parentCategoryId->asInteger(true, 'Недопустимое значение параметра!'); /** @var Category $oParentCategoryFact */ $oParentCategoryFact = DataSource::factory(Category::cls(), $parentCategoryId); if ($oParentCategoryFact->isNew()) { SCMSNotificationLog::instance()->pushError('Недопустимое значение параметра!'); $this->Frame->render(); return; } } else { $parentCategoryId = 0; } $pageNumber = Param::get('catalogue-page', false)->asInteger(false); $itemsPerPage = Param::get('catalogue-items-per-page', false)->asInteger(false); $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $dataGridView = new ViewDataGrid(); $retriever = new CatalogueRetriever(); $dataGrid = new DataGrid('catalogue', '/admin/modules/catalogue/', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->addHiddenField('parent_pk', $parentCategoryId); $dataGrid->getMenu()->addElement(new DataGrid\Menu\Item('Добавить категорию', '/admin/modules/catalogue/edit/?is_category=1' . ($parentCategoryId ? "&parent_pk={$parentCategoryId}" : '')))->addElement(new DataGrid\Menu\Item('Добавить позицию', '/admin/modules/catalogue/edit/?is_category=0' . ($parentCategoryId ? "&parent_pk={$parentCategoryId}" : ''))); $dataGrid->addAction(new Action('id', '/admin/modules/catalogue/edit/', 'edit', '', ['is_category'], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/catalogue/delete/', 'delete', '', ['is_category'], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-id', false)->asString(false)))->addHeader(new Header('is_category', 'Тип', new ViewChange('', [[0, '<span class="glyphicon glyphicon-file"></span>'], [1, '<span class="glyphicon glyphicon-folder-open"></span>']]), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-is_category', false)->asString(false)))->addHeader(new Header('name', 'Наименование', new ViewCondition(new ViewDefault(), [['field' => 'is_category', 'value' => 1, 'view' => new ViewLink('/admin/modules/catalogue/?parent_pk={label}', false, 'id')]]), ['class' => 'text-center'], [], true, Param::get('catalogue-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('catalogue-filter-description', false)->asString(false)))->addHeader(new Header('thumbnail', 'Миниатюра', new ViewCondition(new ViewImageLink(true, ['class' => 'fancybox'], ['class' => 'img-rounded', 'style' => 'height: 20px;']), [['field' => 'thumbnail', 'value' => '/public/assets/images/system/no-image.svg', 'view' => new ViewStub('<span class="glyphicon glyphicon-picture"></span>')]]), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center']))->addHeader(new Header('price', '<span class="glyphicon glyphicon-ruble" title="Цена"></span>', new ViewMoney('<span class="glyphicon glyphicon-ruble"></span>'), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('catalogue-filter-price', false)->asString(false)))->addHeader(new Header('count', '<span class="glyphicon glyphicon-inbox" title="Количество"></span>', null, ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('catalogue-filter-count', false)->asString(false)))->addHeader(new Header('priority', '<span class="glyphicon glyphicon-sort-by-attributes" title="Приоритет"></span>', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-priority', false)->asString(false)))->addHeader(new Header('active', '<span class="glyphicon glyphicon-asterisk" title="Активность"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('catalogue-filter-active', false)->asString(false))); $categoriesAndItems = $retriever->getCategoriesAndItems($parentCategoryId, $dataGrid->getFilterConditions('childs'), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset()); $dataSet = new ArrayDataSet($categoriesAndItems); $dataGrid->addDataSet($dataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Каталог', '/modules/catalogue')]; $breadcrumbsParentPK = $parentCategoryId; $categoryBreadcrumbs = []; while ($breadcrumbsParentPK) { /** @var Category $oParentCategory */ $oParentCategory = DataSource::factory(Category::cls(), $breadcrumbsParentPK); $categoryBreadcrumbs[] = new Breadcrumb($oParentCategory->name, "?parent_pk={$oParentCategory->getPrimaryKey()}", true); $breadcrumbsParentPK = $oParentCategory->category_id; } $viewBreadcrumbs->Breadcrumbs = array_merge($viewBreadcrumbs->Breadcrumbs, array_reverse($categoryBreadcrumbs)); $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function actionIndex() { $this->needAuthenticate(); $pageNumber = Param::get('frames-page', false)->asInteger(false); $itemsPerPage = Param::get('frames-items-per-page', false)->asInteger(false); $dataGridView = new ViewDataGrid(); $retriever = new FramesRetriever(); $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $dataGrid = new DataGrid('frames', '/admin/modules/frames/', 'name', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->getMenu()->addElement(new Item('Создать новый фрейм', '/admin/modules/frames/edit/')); $dataGrid->addAction(new Action('name', '/admin/modules/frames/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('name', '/admin/modules/frames/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('name', 'Название', null, ['class' => 'text-center'], ['class' => 'text-left'], true, Param::get('frames-filter-id', false)->asString(false))); $arrayDataSet = new ArrayDataSet($retriever->getFrames()); $dataGrid->addDataSet($arrayDataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Фреймы', '/modules/frames')]; $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function actionIndex() { $this->needAuthenticate(); $parentPK = (int) Param::get('parent_pk', false)->asInteger(false); $pageNumber = Param::get('structure-page', false)->asInteger(false); $itemsPerPage = Param::get('structure-items-per-page', false)->asInteger(false); $addItemUrl = '/admin/modules/structures/edit/'; if ($parentPK != 0) { $addItemUrl .= "?parent_pk={$parentPK}"; } $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $dataGridView = new ViewDataGrid(); $retriever = new StructureRetriever(); $dataGrid = new DataGrid('structure', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->addHiddenField('parent_pk', $parentPK); $dataGrid->getMenu()->addElement(new Item('Добавить элемент структуры', $addItemUrl)); $dataGrid->addAction(new Action('id', '/admin/modules/structures/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/structures/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Наименование', new ViewLink('/admin/modules/structures/?parent_pk={label}', false, 'id'), ['class' => 'text-center', 'style' => 'width: 300px'], [], true, Param::get('structure-filter-name', false)->asString(false)))->addHeader(new Header('parent_structure_name', 'Родитель', null, ['class' => 'text-center', 'style' => 'width: 300px;'], [], true, Param::get('structure-filter-parent_structure_name', false)->asString(false), 'name', 'parent_structure'))->addHeader(new Header('path', 'Путь', null, ['class' => 'text-center', 'style' => 'width: 300px;'], [], true, Param::get('structure-filter-path', false)->asString(false)))->addHeader(new Header('module_alias', 'Модуль', null, ['class' => 'text-center', 'style' => 'width: 300px;'], [], true, Param::get('structure-filter-module_alias', false)->asString(false), 'alias', 'module'))->addHeader(new Header('anchor', 'Фрагмент', new ViewSwitch(), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('structure-filter-anchor', false)->asString(false)))->addHeader(new Header('frame', 'Фрейм', new ViewEmpty(), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('structure-filter-frame', false)->asString(false)))->addHeader(new Header('seo_title', 'SEO T', new ViewEmpty(), ['class' => 'text-center', 'style' => 'width: 80px;'], ['class' => 'text-center'], true, Param::get('structure-filter-seo_title', false)->asString(false)))->addHeader(new Header('seo_description', 'SEO D', new ViewEmpty(), ['class' => 'text-center', 'style' => 'width: 80px;'], ['class' => 'text-center'], true, Param::get('structure-filter-seo_description', false)->asString(false)))->addHeader(new Header('seo_keywords', 'SED K', new ViewEmpty(), ['class' => 'text-center', 'style' => 'width: 80px;'], ['class' => 'text-center'], true, Param::get('structure-filter-seo_keywords', false)->asString(false)))->addHeader(new Header('is_main', '<span class="glyphicon glyphicon-home" title="Главная"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-is_main', false)->asString(false)))->addHeader(new Header('priority', '<span class="glyphicon glyphicon-sort-by-attributes" title="Приоритет"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-priority', false)->asString(false)))->addHeader(new Header('active', '<span class="glyphicon glyphicon-asterisk" title="Активность"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('structure-filter-active', false)->asString(false))); $structures = $retriever->getStructures($parentPK, $dataGrid->getFilterConditions('structure'), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset()); $dataSet = new ArrayDataSet($structures); $dataGrid->addDataSet($dataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Структура сайта', '/modules/structures')]; $breadcrumbsParentPK = $parentPK; $structureBreadcrumbs = []; while ($breadcrumbsParentPK) { /** @var Structure $oParentStructure */ $oParentStructure = DataSource::factory(Structure::cls(), $breadcrumbsParentPK); $structureBreadcrumbs[] = new Breadcrumb($oParentStructure->name, "?parent_pk={$oParentStructure->getPrimaryKey()}", true); $breadcrumbsParentPK = $oParentStructure->structure_id; } $viewBreadcrumbs->Breadcrumbs = array_merge($viewBreadcrumbs->Breadcrumbs, array_reverse($structureBreadcrumbs)); $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function actionIndex() { $this->needAuthenticate(); $pageNumber = Param::get('page-page', false)->asInteger(false); $itemsPerPage = Param::get('page-items-per-page', false)->asInteger(false); $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $dataGridView = new ViewDataGrid(); $retriever = new PagesRetriever(); $dataGrid = new DataGrid('page', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->getMenu()->addElement(new Item('Добавить статическую страницу', '/admin/modules/pages/edit/')); $dataGrid->addAction(new Action('id', '/admin/modules/pages/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/pages/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('page-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Наименование', null, ['style' => 'width: 250px;'], [], true, Param::get('page-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', null, [], [], true, Param::get('page-filter-description', false)->asString(false)))->addHeader(new Header('active', '<span class="glyphicon glyphicon-asterisk" title="Активность"></span>', new ViewSwitch(), ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('page-filter-active', false)->asString(false))); $structures = $retriever->getPages($dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset()); $dataSet = new ArrayDataSet($structures); $dataGrid->addDataSet($dataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Статичные страницы', '/modules/pages')]; $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function actionIndex() { $this->needAuthenticate(); $pageNumber = Param::get('gallery-page', false)->asInteger(false); $itemsPerPage = Param::get('gallery-items-per-page', false)->asInteger(false); $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $dataGridView = new ViewDataGrid(); $retriever = new GalleryRetriever(); $dataGrid = new DataGrid('gallery', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->getMenu()->addElement(new Item('Создать новую галерею', '/admin/modules/gallery/edit/')); $dataGrid->addAction(new Action('id', '/admin/modules/gallery/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/gallery/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('gallery-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Название', new ViewLink('/admin/modules/gallery/item/?gallery_id={label}', false, 'id'), ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('gallery-filter-name', false)->asString(false)))->addHeader(new Header('description', 'Описание', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('gallery-filter-description', false)->asString(false))); $galleries = $retriever->getGalleries($dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset()); $dataSet = new ArrayDataSet($galleries); $dataGrid->addDataSet($dataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Галереи', '')]; $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function actionIndex() { $this->needAuthenticate(); $this->needAuthenticate(); $pageNumber = Param::get('employee-page', false)->asInteger(false); $itemsPerPage = Param::get('employee-items-per-page', false)->asInteger(false); $manifest = $this->ModuleInstaller->getManifest($this->ModuleDirectory); $siteusersRetriever = new SiteusersRetriever(); $dataGridView = new ViewDataGrid(); $dataGrid = new DataGrid('siteuser', '', 'id', $manifest['meta']['alias'], $pageNumber, $itemsPerPage, $manifest['meta']['description']); $dataGrid->getMenu()->addElement(new Item('Добавить нового пользователя', '/admin/modules/siteusers/edit/')); $dataGrid->addAction(new Action('id', '/admin/modules/siteusers/edit/', 'edit', '', [], ['class' => 'glyphicon glyphicon-pencil'], 'Редактировать'))->addAction(new Action('id', '/admin/modules/siteusers/delete/', 'delete', '', [], ['class' => 'glyphicon glyphicon-trash'], 'Удалить', true)); $dataGrid->addHeader(new Header('id', '№', null, ['class' => 'text-center', 'style' => 'width: 50px;'], ['class' => 'text-center'], true, Param::get('siteuser-filter-id', false)->asString(false)))->addHeader(new Header('name', 'Имя', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('siteuser-filter-name', false)->asString(false)))->addHeader(new Header('surname', 'Фамилия', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('siteuser-filter-surname', false)->asString(false)))->addHeader(new Header('patronymic', 'Отчество', null, ['class' => 'text-center', 'style' => 'width: 250px;'], [], true, Param::get('siteuser-filter-patronymic', false)->asString(false)))->addHeader(new Header('email', 'Email', new ViewEmail(), ['class' => 'text-center'], [], true, Param::get('siteuser-filter-email', false)->asString(false)))->addHeader(new Header('phone', 'Телефон', null, ['class' => 'text-center'], [], true, Param::get('siteuser-filter-phone', false)->asString(false)))->addHeader(new Header('mail_address', 'Адрес', new ViewCutString(20, true, ['class' => 'content-to-modal', 'style' => 'cursor: pointer;'], ['style' => 'display: none;']), ['class' => 'text-center'], ['class' => 'modal-display-field'], true, Param::get('siteuser-filter-mail_address', false)->asString(false)))->addHeader(new Header('postcode', 'Индекс', null, ['class' => 'text-center'], [], true, Param::get('siteuser-filter-postcode', false)->asString(false)))->addHeader(new Header('created', 'Создан', new ViewDateTime('d.m.Y h:i:s'), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('siteuser-filter-created', false)->asString(false)))->addHeader(new Header('updated', 'Изменён', new ViewDateTime('d.m.Y h:i:s'), ['class' => 'text-center'], ['class' => 'text-center'], true, Param::get('siteuser-filter-updated', false)->asString(false))); $structures = $siteusersRetriever->getSiteusers($dataGrid->getFilterConditions(), $dataGrid->Pagination->getLimit(), $dataGrid->Pagination->getOffset()); $dataSet = new ArrayDataSet($structures); $dataGrid->addDataSet($dataSet); $dataGridView->dataGrid = $dataGrid; // Подготовка хлебных крошек $viewBreadcrumbs = new ViewBreadcrumbs(); $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Пользователи', '/modules/siteusers')]; $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs); $this->Frame->bindView('content', $dataGridView); $this->Frame->render(); }
public function currentRender() { $pagerView = new ViewPagination(); $pagerView->formName = $this->dataGrid->getName(); $menuView = new ViewMenu(); $this->dataGrid->preparePager(); $this->dataGrid->fillPager($pagerView); $menuView->menu = $this->dataGrid->getMenu(); $menuView->render(); ?> <hr/> <div class="table-responsive"> <form action="<?php echo $this->dataGrid->getAction(); ?> " class="form-inline s-datagrid" name="<?php echo $this->dataGrid->getName(); ?> " id="<?php echo $this->dataGrid->getName(); ?> "> <fieldset> <table class="table table-striped table-bordered table-hover"> <thead> <tr> <?php if ($this->dataGrid->hasGroupActions()) { ?> <th style="width: 30px;"> <span class="glyphicon glyphicon-check"></span> </th> <?php } ?> <?php foreach ($this->dataGrid->getHeaders() as $header) { ?> <th <?php echo $header->buildAttributes(); ?> > <?php echo $header->getDisplayName(); ?> </th> <?php } ?> <?php if (sizeof($this->dataGrid->getActions()) > 0) { ?> <th class="text-center"> <span class="glyphicon glyphicon-menu-hamburger" title="Действия"></span> </th> <?php } ?> </tr> <?php if ($this->dataGrid->hasFiltered()) { ?> <tr class="warning top"> <?php if ($this->dataGrid->hasGroupActions()) { ?> <th></th> <?php } ?> <?php foreach ($this->dataGrid->getHeaders() as $header) { ?> <th> <?php if ($header->isFiltered()) { ?> <input class="form-control input-sm" style="width: 100%;" name="<?php echo $this->dataGrid->getName(); ?> -filter-<?php echo $header->getKey(); ?> " id="<?php echo $this->dataGrid->getName(); ?> -filter-<?php echo $header->getKey(); ?> " type="text" placeholder="" value="<?php echo $header->getFilterValue(); ?> "> <?php } ?> </th> <?php } ?> <th style="width: 40px;"> <button name="<?php echo $this->dataGrid->getName(); ?> -filter" type="submit" class="btn btn-info btn-sm" formmethod="get" title="Фильтровать"><span class="glyphicon glyphicon-filter"></span></button> </th> </tr> <?php } ?> </thead> <tbody> <?php foreach ($this->dataGrid->getData() as $row) { ?> <tr> <?php if ($this->dataGrid->hasGroupActions()) { ?> <th> <input name="<?php echo $this->dataGrid->getName(); ?> -checked-row-flag-<?php echo $row[$this->dataGrid->getKey()]; ?> " type="checkbox" /> </th> <?php } ?> <?php foreach ($this->dataGrid->getHeaders() as $header) { ?> <td<?php echo ' ' . $header->buildValueAttributes(); ?> ><?php echo $header->decorate($row[$header->getKey()], $row); ?> </td> <?php } ?> <td> <?php foreach ($this->dataGrid->getActions() as $action) { ?> <?php $actionURI = $action->getURI(); foreach ($action->getAdditionalParameters() as $additionalParameter) { $actionURI = CoreFunctions::addGETParamToURI($actionURI, $additionalParameter, $row[$additionalParameter]); } $actionURI = CoreFunctions::addGETParamToURI($actionURI, $action->getParamName(), $row[$this->dataGrid->getKey()]); ?> <a name="<?php echo $this->dataGrid->getName(); ?> -action-<?php echo $action->getName(); ?> -<?php echo $this->dataGrid->getKey(); ?> " href="<?php echo $actionURI; ?> "><span <?php echo $action->buildAttributes(); ?> title="<?php echo $action->getTitle(); ?> "><?php echo $action->getDisplayName(); ?> </span></a> <?php } ?> </td> </tr> <?php } ?> </tbody> <tfoot> <?php if ($this->dataGrid->hasGroupActions()) { ?> <tr> <td> <input type="checkbox" id="<?php echo $this->dataGrid->getName(); ?> -group-action-all-check" name="<?php echo $this->dataGrid->getName(); ?> -group-action-all-check""/> </td> <td colspan="<?php echo count($this->dataGrid->getHeaders()) + 1; ?> "> Групповые операции: <?php foreach ($this->dataGrid->getGroupActions() as $action) { ?> <button name="<?php echo $this->dataGrid->getName(); ?> -action-group-<?php echo $action->getName(); ?> " id="<?php echo $this->dataGrid->getName(); ?> -group-action-<?php echo $action->getName(); ?> " formmethod="post" type="submit" formaction="<?php echo $action->buildGroupURI(); ?> " title="<?php echo $action->getTitle(); ?> "> <span <?php echo $action->buildAttributes(); ?> ><?php echo $action->getDisplayName(); ?> </span> </button> <?php } ?> </td> </tr> <?php } ?> <tr> <td colspan="<?php echo count($this->dataGrid->getHeaders()) + ($this->dataGrid->hasGroupActions() ? 2 : 1); ?> " class="text-left"> <div class="form-group"> <select name="<?php echo $this->dataGrid->getName(); ?> -items-per-page" id="<?php echo $this->dataGrid->getName(); ?> -items-per-page" class="form-control input-sm" style="width: 80px;"> <option<?php echo $this->dataGrid->getItemsPerPage() == 5 ? ' selected="selected"' : ''; ?> >5</option> <option<?php echo $this->dataGrid->getItemsPerPage() == 10 ? ' selected="selected"' : ''; ?> >10</option> <option<?php echo $this->dataGrid->getItemsPerPage() == 20 ? ' selected="selected"' : ''; ?> >20</option> <option<?php echo $this->dataGrid->getItemsPerPage() == 50 ? ' selected="selected"' : ''; ?> >50</option> <option<?php echo $this->dataGrid->getItemsPerPage() == 100 ? ' selected="selected"' : ''; ?> >100</option> <option<?php echo $this->dataGrid->getItemsPerPage() == 500 ? ' selected="selected"' : ''; ?> >500</option> <option<?php echo $this->dataGrid->getItemsPerPage() == 1000 ? ' selected="selected"' : ''; ?> >1000</option> </select> <button name="<?php echo $this->dataGrid->getName(); ?> -set-items-per-page-button" type="submit" class="btn btn-info btn-sm" title="Отобразить" formmethod="get"><span class="glyphicon glyphicon-ok"></span></button> </div> </td> </tr> </tfoot> </table> </fieldset> <?php foreach ($this->dataGrid->getHiddenFields() as $name => $value) { ?> <input type="hidden" name="<?php echo $name; ?> " value="<?php echo $value; ?> "/> <?php } ?> </form> </div> <?php $pagerView->render(); }