Заполнение и получение SEO полей через API 1С-Битрикс

Заполнение и получение SEO полей через API 1С-Битрикс

10.09.2014

Стала задача редактирования SEO полей элементов и разделов инфоблока, с использованием апи битрикса. В интернете как оказалось об этом не так много информации, так что оставлю это здесь, вдруг кому пригодится.

Для заполнение SEO полей, при обновлении (добавлении) элемента в массив полей нужно добавить поле IPROPERTY_TEMPLATES

<?
$el = new CIBlockElement;
$arLoadProductArray = Array(
  "MODIFIED_BY"    => $USER->GetID(), // элемент изменен текущим пользователем
  "IBLOCK_SECTION" => false,          // элемент лежит в корне раздела
  "NAME"           => "Элемент",
  "ACTIVE"         => "Y",            // активен
  "IPROPERTY_TEMPLATES"=>Array(
      "ELEMENT_META_TITLE" => "Заголовок страницы",
      "ELEMENT_META_DESCRIPTION" => "Описание страницы",
      "ELEMENT_META_KEYWORDS" => "Ключевики",
   )
);
 
$PRODUCT_ID = 2;  // изменяем элемент с кодом (ID) 2
$res = $el->Update($PRODUCT_ID, $arLoadProductArray);
?>

Для получения SEO полей элемента:

$IBLOCK_ID = "ID инфоблока";
$rsElement = CIBlockElement::GetList(array(), array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE"=>"Y"), false); 
if($arElement = $rsElement->GetNext()) { 
   $ipropValues = new BitrixIblockInheritedPropertyElementValues($arElement["IBLOCK_ID"], $arElement["ID"]); 
   $arElement["IPROPERTY_VALUES"] = $ipropValues->getValues(); 
   print_r($arElement["IPROPERTY_VALUES"]); 
}

Узнал сам - поделись с друзьями!

Возврат к списку