Перейти к основному содержимому
Версия: v3.1.1

Множественные значения (Шаблоны)

Вкладка Множественные значения (Шаблоны) (ранее называлась "Сравнение значений") содержит настройки для работы с атрибутами, которые содержат несколько значений, разделенных специальным символом.

Вкладка Множественные значения
Настройки обработки множественных значений и сравнения

Разделитель (Splitter)

Разделитель — это символ или последовательность символов, используемая для разделения одного длинного текста (Шаблона) на отдельные независимые Значения.

Назначение

Разделитель позволяет модулю понимать, что запись v1.5.x/2.0.1/2.1.x — это не одно длинное значение, а три разных версии, которые фильтр должен обрабатывать по отдельности.

Настройка разделителя

  • Поле ввода: Символ разделителя (например, /, ,, ;, |).
  • Ограничения: Запрещено использовать буквы, цифры, кавычки и квадратные скобки.
  • Совместимость: Рекомендуется устанавливать такой же разделитель, какой используется в вашем фильтре (Mega Filter Pro, OCFilter и др.).

Пример работы разделителя:

Исходная строкаРазделительПолученные значения
Красный, Синий, Зеленый,Красный, Синий, Зеленый
16Гб/32Гб/64Гб/16Гб, 32Гб, 64Гб
Wi-Fi 6; Bluetooth 5.0;Wi-Fi 6, Bluetooth 5.0

Исключения для разделения

Иногда в значении атрибута встречается символ, совпадающий с разделителем, но это значение не должно разделяться.

Как работают исключения

Модуль использует комбинированный список исключений:

  1. Пользовательский список: Вы можете вручную добавить значения в текстовое поле (одно значение на строку).
  2. Предустановленные (Hardcoded): В модуль уже встроены популярные исключения (Wi-Fi стандарты, TCP/IP, S/PDIF и др.).
  3. Автоматические (Единицы измерения): Все единицы измерения из вашей базы данных, содержащие слэш (например, км/ч).

Пример с исключением:

Допустим, ваш разделитель — /.

Тип значенияТекст атрибутаБез исключений (ошибка)С исключениями (верно)
ОбычноеЧерный/БелыйЧерный, БелыйЧерный, Белый
Сложное802.11 a/b/g/n802.11 a, b, g, n802.11 a/b/g/n
Механизм защиты

При обработке текста модуль сначала ищет все совпадения из списка исключений, "маскирует" их, выполняет разделение по остальным символам разделителя, а затем возвращает исключения в исходный вид.


Единицы измерения со слэшем

Работа с единицами измерения автоматизирована. Если вы используете модуль Единицы измерения и добавили туда единицу со слэшем (например, км/ч), она автоматически становится исключением.

Пример автоматической обработки:

Разделитель: /. Значение в базе: 60 км/ч / 120 км/ч.

  1. Модуль видит, что км/ч — это известная единица измерения.
  2. Он понимает, что слэш внутри км/ч — это часть единицы, а не разделитель значений.
  3. Результат: Модуль корректно разделит строку на два значения: 60 км/ч и 120 км/ч.

Режимы сравнения значений

Эта настройка определяет, как модуль будет искать и обновлять значения при их редактировании или удалении.

1. По вхождению подстроки (Substr)

Поиск любого вхождения текста внутри строки.

Примеры (Substr):

  • Успешная замена: Заменяем MP4 на MP3.
    • Было: MP4/AVI, MP4-MPEG4/VOB
    • Стало: MP3/AVI, MP3-MPEG4/VOB
  • Ошибка (Ложное срабатывание): Заменяем 50 на 50гр.
    • Было: 50, 500, 50-100
    • Стало: 50гр, 50гр0, 50гр-100 (Значение 500 испорчено!)

2. По точному совпадению (Match)

Поиск только полного совпадения значения (с учетом разделителей).

Примеры (Match):

  • Безопасная замена: Заменяем 50 на 50гр.
    • Было: 50, 500, 50-100
    • Стало: 50гр, 500, 50-100 (Значения 500 и 50-100 не затронуты)
Влияние на функции

Выбранный режим влияет на:

  • Обновление: Замена текста через быстрый редактор.
  • Удаление: Очистка значений у товаров.
  • Выборка: Какие товары отобразятся в дереве при клике на значение. В режиме Match при клике на 20 вы не увидите товары со значениями 120 или 200.

Сравнение и Единицы измерения

Все алгоритмы сравнения работают с учетом маскировки единиц измерения.

Пример:

Атрибут: Вес. Значение: 10 кг. Если вы настроили объединение или поиск, модуль "отбросит" кг во время сравнения, найдет число 10, выполнит необходимые действия и затем вернет единицу измерения на место. Это предотвращает дублирование единиц или их потерю при массовых операциях.