Этот выполняется в Настройки > Инструменты > Командная PHP-строка и меняет ВСЕМ статьям в указанном информационном блоке (IBLOCK_ID) с типом IBLOCK_TYPE символьный код на ЧПУ.
Перед запуском рекомендую делать бэкап.
//title: ЧПУ генератор if (CModule::IncludeModule('iblock')) { $arTransParams = array( "max_len" => 100, "change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change "replace_space" => '-', "replace_other" => '-', "delete_repeat_replace" => true ); $add_random = false; $arElements = array(); $arSelect = Array("NAME", "ID"); $arFilter = Array("IBLOCK_ID" => 6, "IBLOCK_TYPE" => 'info'); $dbElements = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect); while ($arElement = $dbElements->GetNext()) { $transName = CUtil::translit($arElement["NAME"], "ru", $arTransParams); if($add_random){ $transName = $transName.$arTransParams["replace_space"].$arElement["ID"]; } $query_update = "UPDATE b_iblock_element SET `CODE` = '".$transName."' WHERE `ID` = '".$arElement["ID"]."' LIMIT 1"; $results_update = $DB->Query( $query_update ); echo $arElement["NAME"]."<br>".$transName . ($results_update ? " <b>updated</b>":" <b>failed</b>")."<br><br>"; } }