Exemple #1
0
 *  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
Exemple #2
0
        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);