Ejemplo n.º 1
0
 public function renderDefault()
 {
     $articles = $this->articlesRepository->getAll()->orderBy(['date' => 'DESC']);
     $visualPaginator = $this['visualPaginator'];
     $paginator = $visualPaginator->getPaginator();
     $paginator->itemsPerPage = $this->settings['pagesPerPage'];
     $paginator->itemCount = $articles->count();
     $articles->limit($paginator->itemsPerPage);
     $articles->offset($paginator->offset);
     $this->getTemplate()->articles = $articles->fetchAll();
     $this->getTemplate()->title = 'Blog - ' . $this->settings['siteName'];
     $this->getTemplate()->description = 'Blog - ' . $this->settings['siteName'];
     $this->getTemplate()->keywords = 'Blog';
 }
Ejemplo n.º 2
0
 /**
  * @param $name
  * @return Grid
  */
 protected function createComponentGrid($name)
 {
     $grid = new Grid($this, $name);
     $grid->translator->lang = 'cs';
     $fluent = $this->articlesRepository->getAll();
     $articles = [];
     foreach ($fluent as $articleRow) {
         $articles[$articleRow->id] = $articleRow;
     }
     if (isset($grid->model)) {
         $grid->model = $fluent;
     }
     $grid->addColumnNumber('id', 'ID');
     $header = $grid->getColumn('id')->headerPrototype;
     $header->style['width'] = '0.5%';
     $grid->addColumnText('name', 'Název')->setFilterText()->setSuggestion();
     $grid->getColumn('name')->headerPrototype->style['width'] = '40%';
     $grid->addColumnText('active', 'Aktivní')->setCustomRender(function ($item) {
         if ($item->active == 0) {
             $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-down']);
             $el = Html::el('a', ['class' => 'btn btn-danger btn-xs btn-mini ajax'])->href($this->presenter->link("active!", $item->id))->setHtml($i);
         } else {
             $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-up']);
             $el = Html::el('a', ['class' => 'btn btn-success btn-xs btn-mini ajax'])->href($this->presenter->link("active!", $item->id))->setHtml($i);
         }
         return $el;
     })->cellPrototype->class[] = 'center';
     $grid->addActionHref('edit', '')->setIcon('pencil');
     $grid->addActionEvent('delete', '')->setCustomRender(function ($item) {
         $i = Html::el('i', ['class' => 'fa fa-trash']);
         $el = Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax', 'data-grido-confirm' => "Opravdu chcete tuto položku odstranit?"])->href($this->presenter->link("delete!", $item->id))->setHtml($i);
         return $el;
     });
     $grid->setDefaultSort(['date' => 'DESC']);
     $grid->setRememberState(true);
     $grid->setPrimaryKey('id');
     $grid->setDefaultPerPage(50);
     $grid->filterRenderType = $this->filterRenderType;
     $grid->setExport();
     return $grid;
 }