Пожалуйста добавте в коробку.
В модуле коробочном СЕО есть такая настройка “Показывать дополнительные языки в URL”
которая делает так
/telefon
uk/telefon
точнее должна делать по феншую, но по факту ЧПУ создается с суффиксом языка и получается масло-масляное
/telefon
uk/telefon-uk
надо тут /app/addons/seo/func.php поменять код после $exist = false;
и будет как надо.
пожалуйста сделайте эту правку в обновлении, она же простая, но сделает феншуй.
обратную совместимость не нарушит у старых клиентов
$exist = false;
if (empty($names_cache) || !empty($names_cache[$_object_name])) {
// Настройка "Показывать дополнительные языки в URL" (SEO -> настройки)
// Если включена — SEO-имена уникальны в рамках каждого языка отдельно,
// то есть "telefon" может существовать и для "ru" и для "uk" одновременно.
// Если выключена — SEO-имена уникальны глобально across всех языков (оригинальное поведение).
$show_secondary_language_in_uri= YesNo::toBool(Registry::get('addons.seo.seo_language'));
if ($show_secondary_language_in_uri) {
// Когда языки в URL включены: сначала фильтруем записи по текущему lang_code,
// затем исключаем сам текущий объект (по object_id + type + dispatch).
// Это позволяет одному SEO-имени существовать в разных языках без суффикса "-uk".
$exist = db_get_field(
"SELECT name FROM ?:seo_names WHERE name = ?s ?p AND lang_code = ?s AND (object_id != ?i OR type != ?s OR dispatch != ?s) ?p",
$_object_name, $path_condition, $lang_code, $object_id, $object_type, $dispatch, $condition
);
} else {
// Оригинальная логика CS-Cart без изменений:
// ищем конфликт среди всех языков, исключая текущий объект.
// При конфликте система добавит суффикс "-uk" (или "-2", "-3" и т.д.)
$exist = db_get_field(
"SELECT name FROM ?:seo_names WHERE name = ?s ?p AND (object_id != ?i OR type != ?s OR dispatch != ?s OR lang_code != ?s) ?p",
$_object_name, $path_condition, $object_id, $object_type, $dispatch, $lang_code, $condition
);
}
}