Задать вопрос
@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);
}
?>
  • Вопрос задан
  • 482 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@DyoMin
Насколько помню bitrix не умеет множественное изменение/удаление элементов инфоблока одним запросом.

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽