Jump to content
kramnycja

Ошибка Sitemap: Родительский тег: url Тег: lastmod Значение: -0001-11-30

Recommended Posts

Добрый день. Подскажите как можно устранить эту ошибку.

Когда выполняю запрос к базе данных: UPDATE `oc_product` SET date_modified = now()

ошибка пропадает. Но после добавления новых товаров снова появляется?

2018-02-18_080407.jpg

Share this post


Link to post
Share on other sites

 

Share this post


Link to post
Share on other sites
3 часа назад, AlexDW сказал:

 

Спасибо за ответ. Но я так и не понял как это можно исправить?

Share this post


Link to post
Share on other sites
12 часов назад, kramnycja сказал:

Но после добавления новых товаров снова появляется?

 

товары как добавляются - вручную из админки или через какой импорт?

если через импорт - при импорте и заполняйте date_modified

Share this post


Link to post
Share on other sites

в файле admin\model\catalog\product.php

замените в самом первом запросе (из addProduct который)

date_added = NOW()");

на

date_modified = NOW(), date_added = NOW()");

и кеш модификаторов обновите

  • +1 2

Share this post


Link to post
Share on other sites
13 минут назад, kramnycja сказал:

Сделал как вы описали. Проблема осталась

Нужно заполнить поле date_modified у тех товаров, где оно пустое
Можно запросом
 

UPDATE oc_product SET date_modified = date_added WHERE date_modified = '0000-00-00 00:00:00';

 

Edited by thentru
  • +1 1

Share this post


Link to post
Share on other sites
58 минут назад, thentru сказал:

Нужно заполнить поле date_modified у тех товаров, где оно пустое
Можно запросом
 


UPDATE oc_product SET date_modified = date_added WHERE date_modified = '0000-00-00 00:00:00';

 

После запроса проблемы устраняются. Но когда я создаю новый товар, то ошибка появляется заново. То есть ошибки выдает только для новых товаров.

Share this post


Link to post
Share on other sites

@kramnycja

значит что-то делаете не так как вам написал @AlexDW

покажите ваш файл
system\storage\modification\admin\model\catalog\product.php

Share this post


Link to post
Share on other sites
17 часов назад, thentru сказал:

@kramnycja

значит что-то делаете не так как вам написал @AlexDW

покажите ваш файл
system\storage\modification\admin\model\catalog\product.php

Вот мой файл

product.php

Share this post


Link to post
Share on other sites

Может кому-то будет полезно.
Я. когда наткнулась на эту ошибку, сделала запрос 1 раз, а через пару недель клиент добавила еще товары и попросила исправить ошибку снова.
Тогда я снова выполнила запрос и решила, что это не дело. все время запросы выполнять ручками и решила так.
Поскольку при добавлении товара в поле, которое берет модуль генерации XML-карты сайта (controller/extentions/feed/google_sitemap.php), data_modified прописывается автоматически дата 0001-11-30, я добавила проверку:

     if (date('Y', strtotime($product['date_modified'])) >2000){
        $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>';
    } else {
        $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_added'])) . '</lastmod>';
    }

где > 2000 значит что после 2000 года, можете свое условие прописать.

Теперь если дата модификации до 2000 года, выводим дату добавления товара.

Edited by AnnaSV

Share this post


Link to post
Share on other sites
В 16.03.2018 в 01:54, AnnaSV сказал:

Может кому-то будет полезно.
Я. когда наткнулась на эту ошибку, сделала запрос 1 раз, а через пару недель клиент добавила еще товары и попросила исправить ошибку снова.
Тогда я снова выполнила запрос и решила, что это не дело. все время запросы выполнять ручками и решила так.
Поскольку при добавлении товара в поле, которое берет модуль генерации XML-карты сайта (controller/extentions/feed/google_sitemap.php), data_modified прописывается автоматически дата 0001-11-30, я добавила проверку:


     if (date('Y', strtotime($product['date_modified'])) >2000){
        $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>';
    } else {
        $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_added'])) . '</lastmod>';
    }

где > 2000 значит что после 2000 года, можете свое условие прописать.

Теперь если дата модификации до 2000 года, выводим дату добавления товара.

Спасибо, пригодилось)

Share this post


Link to post
Share on other sites
В 23.03.2018 в 13:08, aleksandrx100 сказал:

Спасибо, пригодилось)

Подскажите, пожалуйста, куда вставлять данный код?

Share this post


Link to post
Share on other sites
1 час назад, Violetta25 сказал:

Подскажите, пожалуйста, куда вставлять данный код?

controller/extentions/feed/google_sitemap.php

Share this post


Link to post
Share on other sites
21 час назад, aleksandrx100 сказал:

controller/extentions/feed/google_sitemap.php

просто в конце файла добавить или в определенное место?

Share this post


Link to post
Share on other sites
7 hours ago, Violetta25 said:

просто в конце файла добавить или в определенное место?

Вот держите окмод для 2.3:

sitemap-lastmod-fix-2032.ocmod.xml

  • +1 3

Share this post


Link to post
Share on other sites
В 03.04.2018 в 20:47, Violetta25 сказал:

Спасибо большое! после этого ошибка должна устраниться? 

Добрый вечер, куда вы добавили sitemap-lastmod-fix-2032.ocmod.xml?

Спасибо

Share this post


Link to post
Share on other sites

установить через установщик дополнений и потом обновить кеш модификаторов

Share this post


Link to post
Share on other sites
В 03.04.2018 в 02:59, Agatha65 сказал:

Вот держите окмод для 2.3:

sitemap-lastmod-fix-2032.ocmod.xml 839 \u0411 · 247 downloads

Спасибо огромнейшее, очень помогло. Как чайник в данном вопросе программирования, неделю тупила, но потом разобралась. Сейчас все гуд. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.