Формирование карты для изображений (sitemap_image.xml)

Формирование карты для изображений (sitemap_image.xml)
Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы
📅 26 февраля 2024
👁🗨 376

<?
require_once ($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\Loader;
Loader::includeModule('iblock');
?>
<form action="" method="post">
<input type="password" name="password" autocomplete="off" placeholder="Введите пароль">
<button type="submit">Запуск</button>
</form>
<?
if ($_POST['password'] == '111') {
$dom = new domDocument('1.0', 'utf-8');
$urlset = $dom->createElement('urlset');
$urlset->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$urlset->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:image','http://www.google.com/schemas/sitemap-image/1.1');
$rsElement = CIBlockElement::GetList(
[
'NAME' => 'ASC'
],
[
'IBLOCK_ID' => 1,
'ACTIVE' => 'Y'
],
false,
false,
[
'NAME',
'DETAIL_PAGE_URL',
'PREVIEW_PICTURE'
]
);
while($obElement = $rsElement->GetNextElement())
{
$arItem = $obElement->GetFields();
$google_link = 'https://stanislav-web.com' . $arItem['DETAIL_PAGE_URL'];
$google_title = htmlspecialchars($arItem['NAME']);
$google_img = 'https://stanislav-web.com' . CFile::GetPath($arItem['PREVIEW_PICTURE']);
$url = $dom->createElement('url');
$login = $dom->createElement('loc', $google_link);
$url->appendChild($login);
$image = $dom->createElement('image:image');
$image2 = $dom->createElement('image:title', $google_title);
$image3 = $dom->createElement('image:loc', $google_img);
$image->appendChild($image2);
$image->appendChild($image3);
$url->appendChild($image);
$urlset->appendChild($url);
};
$dom->appendChild($urlset);
$dom->save('sitemap_image.xml');
echo 'Готово';
}
?>