/** * Adds a single page to the sitemap * @param Page $page The page */ private function AddPage(Page $page) { if (!$this->PageAllowed($page)) { return; } $params = FrontendRouter::GatherParams($page->GetUrl()); if (count($params) == 0) { $changeFreq = ChangeFrequency::ByValue($page->GetSitemapChangeFrequency()); $priority = $page->GetSitemapRelevance(); $lastLog = LogEvaluator::LastPageModLog($page, $this->resolver); $lastMod = $lastLog ? $lastLog->GetChanged() : null; $this->sitemap->AddUrl(FrontendRouter::PageUrl($page), $changeFreq, $priority, $lastMod); } }
/** * Adds the sitemap change frequency field */ private function AddSitemapChangeFrequencyField() { $name = 'SitemapChangeFrequency'; $value = $this->page->Exists() ? $this->page->GetSitemapChangeFrequency() : (string) ChangeFrequency::Weekly(); $field = new Select($name, $value); $values = ChangeFrequency::AllowedValues(); foreach ($values as $val) { $field->AddOption($val, Trans('Core.Sitemap.ChangeFrequency.' . ucfirst($val))); } $this->AddField($field); }