public function view() { $id = joosController::instance()->router->param('id'); $item = new modelNews(); $item->id = $id; $item->find() ? null : joosPages::page404(); joosDocument::instance()->set_page_title($item->title)->add_meta_tag('description', 'Новости компании'); return array('item' => $item); }
public function view() { $id = joosController::instance()->router->param('id'); $blog_item = new modelBlogs(); $blog_item->load($id) && $blog_item->state == 1 ? null : joosPages::page404('Блогозапись не найдена'); $blog_category = new modelBlogsCategory(); $blog_category->load($blog_item->category_id) && $blog_category->state == 1 ? null : joosPages::page404('Категория блога не найдена'); $author = new modelUsers(); $author->load($blog_item->user_id) && $author->state == 1 ? null : joosPages::page404('Автор блогозаписи не найден'); joosDocument::instance()->set_page_title($blog_item->title)->add_meta_tag('description', 'Блоги'); joosBreadcrumbs::instance()->add($blog_item->title); return array('blog_item' => $blog_item, 'blog_category' => $blog_category, 'author' => $author); }
public function view() { $slug = self::$param['page_name']; $page = new modelPages(); $page->slug = $slug; $page->find() ? null : joosPages::page404(); joosDocument::instance()->set_page_title($page->title)->add_meta_tag('description', $page->meta_description)->add_meta_tag('keywords', $page->meta_keywords)->seo_tag('yandex-vf1', md5(time()))->seo_tag('rating', false); // тэг rating - скрываем joosBreadcrumbs::instance()->add($page->title); // если для текущего действия аквирован счетчик хитов - то обновим его joosHit::add('pages', $page->id, 'view'); // передаём параметры записи и категории в которой находится запись для оформления return array('page' => $page); }
/** * Автоматическое определение и запуск метода действия * @todo добавить сюда события events ДО, ПОСЛЕ и ВМЕСТО выполнения задачи контроллера */ public function run() { $router = $this->router = joosCore::instance()->get_router(); $controller_class_name = 'actions' . ucfirst($router->param('controller')); $controller = new $controller_class_name(); $action = $router->param('action'); JDEBUG ? joosDebug::add($controller_class_name . '->' . $action) : null; if (method_exists($controller_class_name, $action)) { $results = $controller->{$action}(); $page_body = $this->views($results); // главное содержимое - стек вывода компонента - mainbody joosDocument::set_body($page_body); return $this; } else { // в контроллере нет запрашиваемого метода joosPages::page404('Метод не найден'); } }
public function route() { $routes = self::all(); $params = NULL; foreach ($routes as $name => $route) { if ($params = $route->matches($this->current_url)) { $this->params = $params; $this->current_route = $name; return true; } } // если включена отладка - скажем что именно не так if (JDEBUG) { throw new joosException('Не найдено правило роутинга для ссылки :location', array(':location' => $this->current_url)); } else { // отладка не включена - просто перекинем на 404 страницу с понятным текстом joosPages::page404('Такая ссылка на сайте невозможна'); } }