Как убрать ненужные символы из названий разделов при выгрузке каталога 1С на сайт
5 июня 2024
BXmeta
При выгрузке каталога 1С на сайт, часто возникает проблема с тем, что названия разделов содержат ненужные символы, которые не подходят для сайта. Эти лишние символы могут включать цифры, точки и другие знаки, которые затрудняют восприятие и навигацию на сайте.
Чтобы решить эту проблему, необходимо удалить ненужные символы из названий разделов. В этой статье мы подробно рассмотрим, как это сделать на примере удаления цифр и точек в системе управления контентом Битрикс.
Решение:Используем механизм событий bitrix, очищаем название и символьный код.
Для этого в init.php добавляем обработчик на сохранение (добавление и изменение) раздела инфоблока.
<?php
use Bitrix\Main;
$eventManager = Main\EventManager::getInstance();
$eventManager->addEventHandler(
'iblock',
'OnBeforeIBlockSectionAdd',
['SectionsProcessing', 'clearName']
);
$eventManager->addEventHandler(
'iblock',
'OnBeforeIBlockSectionUpdate',
['SectionsProcessing', 'clearName']
);
class SectionsProcessing
{
public static function clearName(&$arFields) : void
{
$arFields['NAME'] = self::removeUnwantedCharacters($arFields['NAME']);
$arFields['CODE'] = self::removeUnwantedCharacters($arFields['CODE']);
}
private static function removeUnwantedCharacters($string) : string
{
return preg_replace('/^[\d.\s]+/', '', $string);
}
}