Иногда нужно создать символьные коды для разделов и элементов. Например: если сайт создан давно и ранее работал на ID секций и элементов. Сделать можно через API битрикс
Добавление обработчика в Битрикс
Для автогенерации символьных кодов, не зависимо от того, каким образом попадают разделы и элементы на сайт (выгрузка из xml или ручное добавление), достаточно в файл /bitrix/php_interface/init.php добавить вот такой код
<?
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyClass40", "OnBeforeIBlockElementAddHandler"));
class MyClass40{
function OnBeforeIBlockElementAddHandler(&$arFields)
{
$name = $arFields["NAME"];
$arParams = array("replace_space"=>"-","replace_other"=>"-");
$trans = Cutil::translit($name,"ru",$arParams);
$arFields["CODE"] = $trans;
}
}
AddEventHandler("iblock", "OnBeforeIBlockSectionAdd", Array("MyClass50", "OnBeforeIBlockSectionAddHandler"));
class MyClass50{
function OnBeforeIBlockSectionAddHandler(&$arFields)
{
$name = $arFields["NAME"];
$arParams = array("replace_space"=>"-","replace_other"=>"-");
$trans = Cutil::translit($name,"ru",$arParams);
$arFields["CODE"] = $trans;
}
}
?>
Само собой, если сайт новый, то автогенерация вполне спокойно настраивается при создании инфоблоков, или в настройках Импорта с 1С. В большей степени, данный метод применим для уже работающих сайтов, которые хотят перейти с ID на CODE в разделах и элементах
Способ подсмотрен в блогах Битрикс
Видео: Вариант применения данного способа
Видео- запись трансляции, без монтажа, потому с провисаниями. Бонусом- способ удалить большой каталог если не удаляется:
Спасибо за ответ.
P.S. Думаю капча на комменты лишняя.

Цитата |
---|
Андрей пишет: Михаил у меня сразу вопрос напрашивается, Вы сменили более 5 тыс. УРЛ на товары разделы и т.д., а как решили вопрос с поисковиками которые индексили весь сайта все время (сайт же не новый)? Просто про редирект я не услышал, тоесть получится много битых УРЛ - 404 страниц, может что упустил. Спасибо за ответ. P.S. Думаю капча на комменты лишняя. |
PS Капча не лишняя, спамеры одолевают сильно, боюсь и регистрацию придется сделать со временем.

Цитата |
---|
Дмитрий Жева написал: Михаил, а если символьный код во многих разделах одинаковый, но разделы то разные. И в итоге глюки. Как сделать чтобы все ровно было? |
С одинаковыми тяжело жить, отрефакторите это дело

И при его создании и внедрении в него этого кода, падает весь битрикс, экран с ошибками. Подскажите в чем может быть дело и что с этим можно сделать

