Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DLE_Comments has a deprecated constructor in /var/www/dlefaq/data/www/dle-faq.ru/engine/classes/comments.class.php on line 21 Как правильно добавить новые url в карту сайта? :: DLE FAQ

Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как правильно добавить новые url в карту сайта?

Как правильно добавить новые url в карту сайта?


     Все вопросы » Общие вопросы по PHP    823

вопрос
Есть данные в колонке actors в таблице dle_post
{"1":{"name":"Аарон Экхарт","name_second":"Актер","image_link":"2021-03/1474187853_baba.jpg"},"2":{"name":"Морган Фримен","name_second":"Актер","image_link":"2021-03/1474187852_deda.jpg"}}
хочу добавить url в карту сайта, (в htaccess правила прописаны, адреса открываются) для этого в файле engine\classes\google.class.php

в функцию function get_news( $page = false ) {
добавил
            if ($row['actors'])
            {

                $actors_links = json_decode($row['actors'], true);
                $loc = "";

                foreach ($actors_links as $nomer_cikla => $value)
                {

                    $nomer = $nomer_cikla;
                    $loc .= $this->home . $row['id'] . "-" . $row['alt_name'] . '/actors/' . $nomer;
                    
                }

            } 
в карте получилось
<url>
<loc>http://dle/1-test/actors/1http://dle/1-test/actors/2</loc>
<lastmod>2021-03-13</lastmod>
<priority>0.6</priority>
</url>
как разделить
http://dle/1-test/actors/1 и http://dle/1-test/actors/2
в разные секции url?

Буду рад любой помощи в этом вопросе.

Ответа пока нет


2 комментария

TeraMoune
Эксперт

TeraMoune - -

Использовать $xml .= $this->get_xml с передачей 2х параметров ссылки и даты, вместо $loc .= который в цикле. Ведь $this->get_xml как раз дополняет карту одной секцией <url> за цикл.

Но это очень не правильно, в такой карте будет куча ссылок дублей. Ведь каждую новость карта сайта будет дополнять секцию <url> с одними и теми же ссылками. Например картина будет такой.


News-1-url
- Actors-1-url
- Actors-5-url
- Actors-7-url
News-2-url
- Actors-2-url
- Actors-5-url
News-3-url
- Actors-1-url
- Actors-7-url


Карта сайта может получить овер много ссылок, от чего пс могут не принять файл.

В скрипте создания карты сайта ведь есть механизм разбивки карты на части, разбиваются по 40к новостей на 1 файл. И это предусмотрено не просто так.

Тестовый репозиторий установки плагинов: teramoune

kovalenko3331
Юзер

kovalenko3331 - -

Спасибо!

Похожие вопросы

наверх