SEO ссылка на товар/категорию, вместо product-name требуется product_name

Доброго времени суток всем!
Подскажите где в настройках CS-Cart можно изменить формат автоматически формируемых SEO имен товаров и каталогов, чтобы вместо, например:
product-name генерировался product_name (нижнее подчеркивание вместо тире).

Товары и категории перенесены с уже проиндексированного сайта, поэтому требования заказчика оставить ссылки как было раньше.
Подскажите любой способ, через настройки в панели администрирования, файлы скриптов или прямо в базе данных. Любым способом сделаю, главное чтоб не навредить движку CS-Cart. Заранее спасибо!

смотрите fn_generate_name() в app/functions/fn.catalog.php

и эти схемы app/schemas/literal_converter

можно попробовать подключиться к хуку generate_name_post
И сделать так $str = str_replace(’-,’ ‘_’, $str);

Попробовал первый Ваш совет, но какое то странное поведение:

  1. Файла app/functions/fn.catalog.php у меня почему то нет. Попробовал поискать функцию fn_generate_name() в файлах fn_categories и fn_products тоже не описаны эти функции.

  2. Посмотрел (по быстрому правда) в папке app/schemas/literal_converter, наиболее подходящее по назначению оказалось в файле general.php.
    В ней заменил строчку ’ ’ => ‘-’ на ’ ’ => '', т.е. присваивать вместо пробелов в названии "",
    2

(P.S. Форум CS-Cart тоже походу ‘_’ фильтрует и показывает как ‘’)
4

  1. Начал пробные товары и категории создавать, но CS-Cart вместо _ просто схлопывает (ни пробел, ни тире) текст.
    3
    Вернул в файле обратно настройку, как и раньше показывает product-name.

Есть подозрения, что скорее всего знак “_” где то используется как служебный и фильтрует или режет где то его.

Буду пробовать через хуки теперь. А может напрямую в базе данных подправить все??

Странно, но попытался на этапе создания категории задать сразу нужное мне имя SEO, но при сохранении оно ругнулось на меня.
5
Хотя такое имя я точно не создавал еще. Странное поведение.

Не знаю правильно или нет сделал но работает:
Залез в базу данных в таблицу cscart_seo_names и вручную отредактировал значение в поле name.
Т.е. в принципе, если правильно понял я, исправил значение, которое можно посмотреть в админке:
Сайт-SEO-301 редиректы - Новый URL. На сайте стал нормально, как мне надо все показывать и в админке где SEO и на карточке товара и после пересохранения товара не исправляет. Получается только так.

Еще раз всем здравствуйте, к сожалению поднимаю еще раз тему. В базе то поправляются ссылки норм, а вот при создании все таки товара или категории ссылки были с “_”.

Нашел в файле \app\addons\seo\func.php функцию fn_create_seo_name. Можно ли в ней в конце добавить что то типа замены, как выше в комментарии подсказывали, типа $str = str_replace(’-,’ ‘_’, $str)?

И еще вопросик.
Где изменить настройки формат SEO URL товаров: что бы они были /catalog/[product_name], т.е. без категорий в которые товар входит. в предложенных вариантах такой схемы нет.
Заранее спасибо!

Похоже, что надо поправить регулярные выражения в функции fn_generate_name (app/functions/fn.common.php) и добавить нижнее подчеркивание в список допустимых символов

Только дорабатывать