public function categoryAction() { $args = func_get_args(); $path = trim(implode('/', $args)); $category = null; if (is_numeric($path)) { $category = Materials\Category::get((int) $path); } if (!$category) { foreach ($args as $alias) { $category = Materials\Category::get([['parent_id', $category ? $category->id : 0], ['alias', $alias]]); if (!$category) { break; } } } if (!$category) { $category = Materials\Category::get($path, 'alias'); } if (!$category) { Tools::header('404'); $this->view->page(['content' => '404', 'data' => ['text' => 'Такой страницы не найдено']]); } else { $this->view->setTitle($category->name); $pages = new Ui\Pages($_GET, ['count' => Materials\Material::getCount(['where' => ['tree_path', $category->tree_path . $category->id . '/%', 'LIKE']]), 'limit' => 10]); $materials = Materials\Material::getList(['where' => ['tree_path', $category->tree_path . $category->id . '/%', 'LIKE'], 'order' => ['date_create', 'desc'], 'start' => $pages->params['start'], 'limit' => $pages->params['limit']]); $this->view->page(['page' => $category->resolveTemplate(), 'content' => $category->resolveViewer(), 'data' => compact('materials', 'pages', 'category')]); } }
<?php return ['widget' => function () { ?> <div class="panel panel-default"> <div class="panel-heading">Материалы</div> <div class="panel-body"> <p>Всего: <?php echo Materials\Material::getCount(); ?> </p> <p>Новых сегодня: <?php echo Materials\Material::getCount(['where' => ['date_create', date('Y-m-d 00:00:00'), '>']]); ?> </p> </div> <div class="panel-footer"> <a href ="/admin/Materials/Material">Управление</a> </div> </div> <?php }];