Сделать возможность одинаковых ЧПУ в URL для разных языков, без суффикса языка

@cs-cart_team

Пожалуйста добавте в коробку.

В модуле коробочном СЕО есть такая настройка “Показывать дополнительные языки в 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
			);
		}
	}
1 лайк