ЧПУ генератор bitrix

Этот выполняется в Настройки > Инструменты > Командная 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>";
   }
}
This entry was posted in Bitrix, Php and tagged , , . Bookmark the permalink.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*