private static function getBlogTagRenderUrls($theme, $item, $alltags = false) { $page = CmsPage::loadCached($theme, $item->cmsPage); $result = []; $tags = Tag::lists('slug', 'name'); $pages = []; if ($item->nesting > 0) { foreach ($tags as $slug => $name) { if ($alltags) { $url = CmsPage::url($page->getBaseFileName(), ['filter' => 'tag', 'slug' => $slug], false); $url = URL::to(Str::lower($url)) . '/'; $pages[] = array('title' => $name, 'url' => $url); } else { $category = Tag::whereRaw("LOWER(slug) = '{$slug}'")->first(); $tagPages = Post::filterByCategory($category->id)->get(); $pageUrl = CmsPage::url($page->getBaseFileName(), ['slug' => $slug], false); $pageUrl = str_replace('/default', '', Str::lower($pageUrl) . '/'); foreach ($tagPages as $cpage) { $pages[] = array('title' => $cpage->title, 'url' => Str::lower($pageUrl) . $cpage->slug . '/'); } } } } return $pages; }
/** * Prepares the list data */ public function prepareVars() { $this->vars['value'] = $this->model->{$this->fieldName}; $this->vars['existing_tags'] = TagModel::lists('name', 'name'); }