Задать вопрос
@webdefvika
SMM специалист

Как создать xml карту сайта для изображений?

Подскажите каким образом для сайта на CMS 1C-Битрикс можно сделать карту сайта для изображений?

Карта сайта для изображений должна быть такого формата: https://support.google.com/webmasters/answer/17863...

В Битрикс есть возможность создать обычную карту сайта такой возможности вроде нет, но xml карту для изображени вроде там создать нельзя. Онлайн генераторы тоже не создают xml карту для сайта на Битрикс.

Может быть посоветуете модуль c маркетплейс?
  • Вопрос задан
  • 1822 просмотра
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
Набросал код для вас.
<?
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");
$dom = new domDocument("1.0", 'utf-8');
$xml = $dom->createElement("xml");
$xml ->setAttributeNS(null, 'version', '1.0');
$xml ->setAttributeNS(null, 'encoding', 'utf-8');
$dom->appendChild($xml); 
$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');

$arSelect = Array("ID", "NAME", "DETAIL_PAGE_URL", "PREVIEW_PICTURE");
$arFilter = Array("IBLOCK_ID"=>8, "SECTION_ID"=>100, "INCLUDE_SUBSECTIONS" => "Y"); //ID Инфоблока и ID раздела с элементами
$rsElement = CIBlockElement::GetList(Array("NAME" => "ASC"), $arFilter, false, Array("nPageSize"=>5), $arSelect);
$arResult["ITEMS"] = array();
while($obElement = $rsElement->GetNextElement())
{
$arItem = $obElement->GetFields();
$arItem["PROPERTIES"] = $obElement->GetProperties();
$google_link =  'https://site.ru'.$arItem[DETAIL_PAGE_URL];
$google_img =  'https://site.ru'.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:loc", $google_img);
    $image->appendChild($image2);
    $url->appendChild($image);

$urlset->appendChild($url);
};
$xml->appendChild($urlset);
$dom->save("img.xml"); //в корне директории откуда запускаем скрипт
echo 'Готово';
?>

5eecf8d3c0a8c845561753.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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