Доброго времени суток всем!
Подскажите где в настройках CS-Cart можно изменить формат автоматически формируемых SEO имен товаров и каталогов, чтобы вместо, например:
product-name генерировался product_name (нижнее подчеркивание вместо тире).
Товары и категории перенесены с уже проиндексированного сайта, поэтому требования заказчика оставить ссылки как было раньше.
Подскажите любой способ, через настройки в панели администрирования, файлы скриптов или прямо в базе данных. Любым способом сделаю, главное чтоб не навредить движку CS-Cart. Заранее спасибо!
Попробовал первый Ваш совет, но какое то странное поведение:
Файла app/functions/fn.catalog.php у меня почему то нет. Попробовал поискать функцию fn_generate_name() в файлах fn_categories и fn_products тоже не описаны эти функции.
Посмотрел (по быстрому правда) в папке app/schemas/literal_converter, наиболее подходящее по назначению оказалось в файле general.php.
В ней заменил строчку ’ ’ => ‘-’ на ’ ’ => '', т.е. присваивать вместо пробелов в названии "",
(P.S. Форум CS-Cart тоже походу ‘_’ фильтрует и показывает как ‘’)
Начал пробные товары и категории создавать, но CS-Cart вместо _ просто схлопывает (ни пробел, ни тире) текст.
Вернул в файле обратно настройку, как и раньше показывает product-name.
Есть подозрения, что скорее всего знак “_” где то используется как служебный и фильтрует или режет где то его.
Буду пробовать через хуки теперь. А может напрямую в базе данных подправить все??
Не знаю правильно или нет сделал но работает:
Залез в базу данных в таблицу 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) и добавить нижнее подчеркивание в список допустимых символов