1С-Битрикс. Оптовая генерация символьных кодов
25.12.2013 03:31
Допустим, уже на имеющемся сайте на Битриксе вы решили сделать красивые ссылки у страниц, заодно и удовлетворить СЕОшника, да поисковым системам понравиться. Работал сейчас над сайтом, у которого ~2500 новостей и символьных кодов не было. Перед запуском новой версии сайта я решил причинить непоправимое улучшение и сделать красивые ссылки с ЧПУ.
Итак, простенький код:
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); $APPLICATION->RestartBuffer(); ini_set('max_execution_time', '3600'); ini_set('memory_limit', '256M'); CModule::IncludeModule("iblock"); $arFilter = Array('IBLOCK_ID'=>3, 'GLOBAL_ACTIVE'=>'Y', 'CODE'=>false); $by = "SORT"; $order = "ASC"; $db_list = CIBlockElement::GetList(Array($by=>$order), $arFilter, false, false, Array(0 => "ID", 1 =>"NAME", 2 => "CODE")); $db_list->NavStart(2000);//сколько выбрать записей while($ar_result = $db_list->GetNext()) { $title_castr = $ar_result['NAME']; $el = new CIBlockElement; $arParamsEl = array( "max_len"=>100, "change_case"=>"L", "replace_space"=>"-", "replace_other"=>"-" );//правила генерирования символьного кода $sys_name = Cutil::translit($title_castr,"ru",$arParamsEl); echo $ar_result['ID'].' '.$ar_result['NAME'].': '.$ar_result['CODE'].' - '.$sys_name.'
'; $arLoadProductArray = Array( "CODE" => $sys_name ); $PRODUCT_ID = $ar_result['ID']; $res = $el->Update($PRODUCT_ID, $arLoadProductArray); }
Всё! Если обновление не прошло, коды повторяются, тогда можно к символьным кодам добавить "-2" или любую другую часть.
Непонятно почему в самом Bitrix такого до сих пор нет, хоть с простеньким интерфейсом и базовыми возможностями. Хотя нечто подобное видел на маркетплейсе, но ставить левый модуль ради простой задачи как-то не целесообразно.

Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование).
Есть вопросы по статье? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670) или перепиской в ВК.
1000 р./час.
1000 р./час.

перейти в Блог | Блог (стр. 15)
Ударим лайками по бездорожью, разгильдяйству и бюрократизму!
Ключевые слова (тэги): 1С-Битрикс 54 PHP 67 web-программирование 91
Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю-: