if(!CModule::IncludeModule("iblock"))
{
echo "Error with iblock module!";
die;
}
$arParams['IBLOCK_ID'] = 17;
$arParams['LIST_CNT'] = 50;
$arParams['IS_ADD_RAND'] = false;
$arParams['TYPE_WORK'] = 'section'; // {section | element}
$arOrder = array(
"sort" => "inc",
);
$arFilter = array(
"IBLOCK_ID" => $arParams['IBLOCK_ID'],
"IBLOCK_LID" => SITE_ID,
//"CODE" => "",
"CODE" => false
);
$arTransParams = array(
"max_len" => 100,
"change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
"replace_space" => '-',
"replace_other" => '-',
"delete_repeat_replace" => true
);
if($arParams['TYPE_WORK'] == 'section'){
//for SECTIONS
$db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false);
$db_elemens->NavStart($arParams['LIST_CNT']);
echo '<pre>';
while($ar_res = $db_elemens->GetNext())
{
$transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams);
if($arParams['IS_ADD_RAND']){
$transName = $transName.$arTransParams["replace_space"].$ar_res["ID"];
}
$arPropArray = Array( "CODE" => $transName );
$el = new CIBlockSection;
$res = $el->Update($ar_res["ID"], $arPropArray);
echo "result for <b>".$ar_res["NAME"]."</b> is <b>".$transName.'</b>'.($res?" and OK":" and failed")."\r\n";
}
echo '</pre>';
}elseif($arParams['TYPE_WORK'] == 'element'){
// for ELEMENTS
$db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams['LIST_CNT']));
$i = 0;
echo '<pre>';
while($obElement = $db_elemens->GetNextElement())
{
$ar_res = $obElement->GetFields();
$transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams);
if($arParams['IS_ADD_RAND']){
$transName = $transName.$arTransParams["replace_space"].$ar_res["ID"];
}
$arPropArray = Array( "CODE" => $transName, );
$el = new CIBlockElement;
$res = $el->Update($ar_res["ID"], $arPropArray);
echo "result for <b>".$ar_res["NAME"]."</b> is <b>".$transName.'</b>'.($res?" and OK":" and failed")."\r\n";
}
echo '</pre>';
}
|