コード例 #1
0
 public function testSitemapDatetow3c()
 {
     $this->assertEquals('2015-01-01T00:00:00+00:00', Sitemap::dateToW3C("01-01-2015"));
     $this->assertEquals('2015-11-04T14:52:47+00:00', Sitemap::dateToW3C(1446648767));
     $this->assertEquals('2015-11-04T14:53:57+00:00', Sitemap::dateToW3C("Wed Nov 4 17:53:57 MSK 2015"));
 }
コード例 #2
0
 /**
  * Generate url's array from properties $url and $models
  *
  * @access protected
  * @return array
  */
 protected function generateUrls()
 {
     $urls = $this->urls;
     foreach ($this->models as $modelName) {
         /** @var behaviors\SitemapBehavior $model */
         if (is_array($modelName)) {
             $model = new $modelName['class']();
             if (isset($modelName['behaviors'])) {
                 $model->attachBehaviors($modelName['behaviors']);
             }
         } else {
             $model = new $modelName();
         }
         $urls = array_merge($urls, $model->generateSiteMap());
     }
     $urls = array_map(function ($item) {
         $item['loc'] = Url::to($item['loc'], true);
         if (isset($item['lastmod'])) {
             $item['lastmod'] = Sitemap::dateToW3C($item['lastmod']);
         }
         if (isset($item['images'])) {
             $item['images'] = array_map(function ($image) {
                 $image['loc'] = Url::to($image['loc'], true);
                 return $image;
             }, $item['images']);
         }
         return $item;
     }, $urls);
     return $urls;
 }