<?php return function ($step = NULL, $params = []) { $material = new Materials\Material(['name' => 'Главная', 'text' => '<p>Главная страница сайта</p>', 'default' => '1', 'preview' => '<p>Главная страница</p>', 'template' => 'default', 'viewer' => 'main_page']); $material->save(); };
<?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 }];
public function viewAction() { $args = func_get_args(); $alias = trim(implode('/', $args)); $material = false; if ($alias) { if (is_numeric($alias)) { $material = Materials\Material::get($alias); } if (!$material) { $material = Materials\Material::get($alias, 'alias'); if (!$material) { Tools::header('404'); $this->view->page(['content' => '404', 'data' => ['text' => 'Такой страницы не найдено']]); exit; } } } if ($material->keywords) { $this->view->addMetaTag(['name' => 'keywords', 'content' => $material->keywords]); } if ($material->description) { $this->view->addMetaTag(['name' => 'description', 'content' => $material->description]); } $this->view->addMetaTag(['property' => 'og:title', 'content' => $material->name]); $this->view->addMetaTag(['property' => 'og:url', 'content' => 'http://' . idn_to_utf8(INJI_DOMAIN_NAME) . '/' . $material->alias]); if ($material->description) { $this->view->addMetaTag(['property' => 'og:description', 'content' => 'http://' . idn_to_utf8(INJI_DOMAIN_NAME) . '/' . $material->description]); } if ($material->image) { $this->view->addMetaTag(['property' => 'og:image', 'content' => 'http://' . idn_to_utf8(INJI_DOMAIN_NAME) . $material->image->path]); } elseif ($logo = Files\File::get('site_logo', 'code')) { $this->view->addMetaTag(['property' => 'og:image', 'content' => 'http://' . idn_to_utf8(INJI_DOMAIN_NAME) . $logo->path]); } $this->view->setTitle($material->name); $bread[] = ['text' => $material->name, 'href' => '/' . $material->alias]; $this->view->page(['page' => $material->resolveTemplate(), 'content' => $material->resolveViewer(), 'data' => compact('material', 'bread')]); }