Exemplo n.º 1
0
 /**
  * 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);
     }
 }
Exemplo n.º 2
0
 /**
  * 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);
 }