Верх страницы
Обложка к записи Автоматическая генерация символьного кода из названия элемента в Битрикс
Время для прочтения: 0 мин. 3 сек.

Автоматическая генерация символьного кода из названия элемента в Битрикс

Если у вас в Битриксе настроен ЧПУ («человекопонятный урл») с использованием «символьного кода» элемента, что очень способствует продвижению сайта в поисковых системах, то было бы неплохо этот самый «символьный код» генерировать автоматически из названия.

Для этого добавим свой обработчик для событий OnBeforeIBlockElementAdd (вызывается до вставки информационного блока) и OnBeforeIBlockElementUpdate (вызывается до изменения элемента информационного блока) в файл /bitrix/php_interface/init.php вашего сайта:


/**
 * Транслит имени в символьный код (для ЧПУ)
 */
function slugTranslit(&$arFields) {
	// Если заполнено имя и не заполнен символьный код
  if (strlen($arFields["NAME"]) > 0 && strlen($arFields["CODE"]) < = 0) {
    $arParams = array(
      "max_len" => "100", // обрезаем символьный код до 100 символов
      "change_case" => "L", // приводим к нижнему регистру
      "replace_space" => "-", // меняем пробелы на тире
      "replace_other" => "-", // меняем плохие символы на тире
      "delete_repeat_replace" => "true", // удаляем повторяющиеся тире
      "use_google" => "false", // отключаем использование google
    );
    $arFields["CODE"] = Cutil::translit($arFields["NAME"], "ru", $arParams);
  }
}
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", 'slugTranslit');
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", 'slugTranslit');

RTFM

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, OpenCart, DLE, Laravel, Moonshine, Symfony, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы