Ошибка в Sitemap компонента Фотобитвы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Ошибка в Sitemap ICMS 2

#1 25 февраля 2019 в 12:49
Добрый день друзья. После обновления сайта до 2.11.0 появилась ошибка в компоненте Фотобитвы при формировании карты сайта.

ошибка: поле <loc> не имеет ссылок.

  1. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  2. <url>
  3. <loc/>
  4. <changefreq>daily</changefreq>
  5. </url>
  6. <url>
  7. <loc/>
  8. <changefreq>daily</changefreq>
  9. </url>
  10. <url>
  11. <loc/>
  12. <changefreq>daily</changefreq>
  13. </url>
  14. </urlset>
Файл компонента фотобитвы sitemap_urls.php имеет такой вид:

  1. <?php
  2.  
  3. class onPhotobattleSitemapUrls extends cmsAction {
  4.  
  5. public function run(){
  6.  
  7. $urls = array();
  8.  
  9. $battles = $this->model->
  10. limit(false)->
  11. getBattles();
  12.  
  13. if ($battles){
  14. foreach($battles as $battle){
  15. $url = href_to_abs($this->name, 'battle/' . $battle['id']);
  16. $date_last_modified = false;
  17. $urls[$url] = $date_last_modified;
  18. }
  19. }
  20.  
  21. return $urls;
  22.  
  23. }
  24.  
  25. }
Подскажите что можно поправить. Спасибо.
#3 27 февраля 2019 в 08:31

привести к виду

Loadырь

Спасибо за ответ, буду пробывать.
#4 27 февраля 2019 в 09:48
Loadырь, вот так сделал правильно:

  1. <?php
  2.  
  3. class onPhotobattleSitemapUrls extends cmsAction {
  4.  
  5. public function run(){
  6.  
  7. $urls = array();
  8.  
  9. $battles = $this->model->limit(false)->getBattles();
  10.  
  11. if ($battles){
  12. foreach($battles as $battle){
  13. $urls[] = array(
  14. 'last_modified' => $battle['date_last_modified'],
  15. 'title' => $battle['title'],
  16. 'url' => href_to_abs($this->name, 'battle/' . $battle['id'])
  17. );
  18. }
  19. }
  20.  
  21. return $urls;
  22.  
  23. }
  24.  
  25. }
#5 27 февраля 2019 в 09:56

вот так сделал правильно

Андрей
Сойдет и так. Теперь запустите задачу в планировщике и посмотрите на результат, проверьте ссылки с карте.
#6 27 февраля 2019 в 11:35

Сойдет и так.

Loadырь

Ошибки высыпало:

  1. Warning: file_put_contents(/var/www/u0006953/data/www/lovelovely.ru/cache/static/sitemaps/sitemap_content_horo.xml): failed to open stream: Отказано в доступе in /var/www/u0006953/data/www/lovelovely.ru/system/controllers/sitemap/hooks/cron_generate.php on line 136
  2. Warning: file_put_contents(/var/www/u0006953/data/www/lovelovely.ru/cache/static/sitemaps/sitemap_frontpage_root.xml): failed to open stream: Отказано в доступе in /var/www/u0006953/data/www/lovelovely.ru/system/controllers/sitemap/hooks/cron_generate.php on line 136
  3. Notice: Undefined index: date_last_modified in /var/www/u0006953/data/www/lovelovely.ru/system/controllers/photobattle/hooks/sitemap_urls.php on line 14
  4. Notice: Undefined index: date_last_modified in /var/www/u0006953/data/www/lovelovely.ru/system/controllers/photobattle/hooks/sitemap_urls.php on line 14
  5. Notice: Undefined index: date_last_modified in /var/www/u0006953/data/www/lovelovely.ru/system/controllers/photobattle/hooks/sitemap_urls.php on line 14
  6. Warning: file_put_contents(/var/www/u0006953/data/www/lovelovely.ru/cache/static/sitemaps/sitemap_photos_photo.xml): failed to open stream:
  7. Отказано в доступе in /var/www/u0006953/data/www/lovelovely.ru/system/controllers/sitemap/hooks/cron_generate.php on line 136
  8. Warning: Cannot modify header information - headers already sent by (output started at /var/www/u0006953/data/www/lovelovely.ru/system/controllers/sitemap/hooks/cron_generate.php:136) in /var/www/u0006953/data/www/lovelovely.ru/system/core/controller.php on line 1031
но карта сайта создалась без ошибок

#7 27 февраля 2019 в 11:48
  1. <?php
  2.  
  3. class onPhotobattleSitemapUrls extends cmsAction {
  4.  
  5. public function run(){
  6.  
  7. $urls = array();
  8.  
  9. $battles = $this->model->limit(false)->getBattles();
  10.  
  11. if ($battles){
  12.  
  13. foreach($battles as $battle){
  14.  
  15. $urls[] = array(
  16. 'last_modified' => null,
  17. 'title' => $battle['title'],
  18. 'url' => href_to_abs($this->name, 'battle/' . $battle['id'])
  19. );
  20.  
  21. }
  22.  
  23. }
  24.  
  25. return $urls;
  26.  
  27. }
  28.  
  29. }
Всё остальное от компонента horo
#8 27 февраля 2019 в 11:54

Всё остальное от компонента horo

Loadырь

Да, я уже понял, спасибо большое за помощь!
#9 27 февраля 2019 в 21:44

Всё остальное от компонента horo

Loadырь

Ошибки были из-за прав к файлам

sitemap_content_horo.xml
sitemap_frontpage_root.xml
sitemap_photos_photo.xml

Почему-то выставились права root 0 0, исправил на владельца 500 502 и всё заработало.
#10 28 февраля 2019 в 08:57
Еще раз спасибо Loadырь!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.