public function sitemap(NCSitemapBuilder $builder) { $pages = \Page::all(); foreach ($pages as $page) { $builder->add_url($this->map->reverse('page', [$page->id, $page->slug]), 0.9, $page->updated_at, 'monthly'); } return $builder; }
/** * Generate sitemap * * @param NCSitemapBuilder $builder * @return NCSitemapBuilder */ public function sitemap(NCSitemapBuilder $builder) { // Topics $forums = \ForumTheme::all(); foreach ($forums as $topic) { $builder->add_url($this->map->reverse('topic', [$topic->id]), 0.9, $topic->updated_at, 'daily'); } return $builder; }
/** * @param NCSitemapBuilder $builder * @return NCSitemapBuilder */ public function sitemap(NCSitemapBuilder $builder) { // News page $builder->add_url($this->map->reverse('news'), 1, 'now', 'daily'); // Posts map $posts = \Post::all(['conditions' => ['moderate = ?', 0]]); foreach ($posts as $entry) { $builder->add_url($this->map->reverse('post', [$entry->id, $entry->slug]), 0.9, $entry->updated_at, 'weekly'); } // Categories $categories = \PostCategory::all(); foreach ($categories as $category) { $builder->add_url($this->map->reverse('category', [$category->id]), 0.9, mktime(0, 0, 0), 'daily'); } return $builder; }
/** * @return string */ public function sitemap() { $builder = new NCSitemapBuilder([], NCSitemapBuilder::TYPE_SITEMAP_INDEX); $modules = $this->load('Module')->modules('all'); foreach ($modules as $mdl_dir) { /** @var NCModule $class_name */ $class_name = '\\Module\\' . $mdl_dir . '\\Module'; if (!class_exists($class_name) || !$class_name::SITEMAP) { continue; } $builder->add_sitemap('/' . strtolower($mdl_dir) . '/sitemap.xml'); } return strval($builder); }