+7 (987) 026-06-36
Написать в Telegram

Оставить заявку
stanislav_web

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

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

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

Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы

📅 26 февраля 2024

👁‍🗨 376

🔥 0

Формирование карты для изображений (sitemap_image.xml)
<?
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 'Готово';
}
?>