@sagaton

Как сделать изменение типа детального описания через цикл?

Есть данные вытянутые из базы и сохраненные в csv файл.
При импорте детальное описание, как не пытался сделать html, все равно было text.
Нашел способ который делал трансформацию детального текста, но у меня оно срабатывает только при заходе в элемент и его обновление. у меня их больше ста. как сделать чтоб изменения прошли через цикл?
вот сам код
if ($arResult["DETAIL_TEXT_TYPE"]!=="html") {
    $el = new CIBlockElement;
    $arLoadProductArray = Array(
        "DETAIL_TEXT_TYPE" => "html",
    );
    $res = $el->Update($arResult["ID"], $arLoadProductArray);
}
?>
  • Вопрос задан
  • 366 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DyoMin
Насколько помню bitrix не умеет множественное изменение/удаление элементов инфоблока одним запросом.

Вариант тут выбрать нужные элементы через CIBlockElement::GetList(), а затем в цикле выполнить изменение типа детального описания. Да, это неоптимально, но если это разовая обработка, то вполне можно сделать.

Второй вариант - это делать изменение напрямую в таблице БД, не используя api инфоблоков. В этом случае смотри структуру таблицы b_iblock_element. Но после такого как минимум надо сделать сброс кэша. И вообще в официальной документации не рекомендуется напрямую работать с базой данных.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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