* RETURN SPECIFIC PAGE/ARTICLE TAG ITEM FILTERED BY ITS AVAILABLE DATA * ========================================================================== * * -- CODE: ----------------------------------------------------------------- * * $tag = Get::pageTag('lorem-ipsum'); * $tag = Get::articleTag('lorem-ipsum'); * * -------------------------------------------------------------------------- * */ Get::plug('pageTag', function ($filter, $output = null, $fallback = false) { return Get::tag($filter, $output = null, $fallback = false, 'page'); }); Get::plug('articleTag', function ($filter, $output = null, $fallback = false) { return Get::tag($filter, $output = null, $fallback = false, 'article'); }); /** * ========================================================================== * GET PAGE/ARTICLE PATH * ========================================================================== * * -- CODE: ----------------------------------------------------------------- * * var_dump(Get::pagePath('lorem-ipsum')); * var_dump(Get::articlePath('lorem-ipsum')); * * -------------------------------------------------------------------------- * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Parameter | Type | Description
Shield::abort('404-archive'); } $time = $config->widget_year_first ? $year . ', ' . $months[(int) $month - 1] : $months[(int) $month - 1] . ' ' . $year; Config::set(array('page_title' => (strpos($config->archive->title, '%s') !== false ? sprintf($config->archive->title, $time) : $config->archive->title . ' ' . $time) . $config->title_separator . $config->title, 'offset' => $offset, 'archive_query' => $slug, 'articles' => $articles, 'pagination' => Navigator::extract(Get::articles('DESC', 'time:' . $slug), $offset, $config->archive->per_page, $config->archive->slug . '/' . $slug))); Shield::attach('index-archive'); }, 41); /** * Tag Page * -------- * * [1]. tagged/tag-slug * [2]. tagged/tag-slug/1 * */ Route::accept(array($config->tag->slug . '/(:any)', $config->tag->slug . '/(:any)/(:num)'), function ($slug = "", $offset = 1) use($config) { if (!($tag = Get::tag($slug))) { Shield::abort('404-tag'); } $articles = array(); $offset = (int) $offset; if ($files = Mecha::eat(Get::articles('DESC', 'kind:' . $tag->id))->chunk($offset, $config->tag->per_page)->vomit()) { foreach ($files as $file) { $articles[] = Get::article($file, array('content', 'tags', 'css', 'js', 'comments')); } unset($files); } else { Shield::abort('404-tag'); } Config::set(array('page_title' => (strpos($config->tag->title, '%s') !== false ? sprintf($config->tag->title, $tag->name) : $config->tag->title . ' ' . $tag->name) . $config->title_separator . $config->title, 'offset' => $offset, 'tag_query' => $slug, 'articles' => $articles, 'pagination' => Navigator::extract(Get::articles('DESC', 'kind:' . $tag->id), $offset, $config->tag->per_page, $config->tag->slug . '/' . $slug))); Shield::attach('index-tag'); }, 50);