Модуль добавляет транскрипцию языков для правильного формирования SEO имени в URL страниц (товаров, категорий, блога и т.п.).
Версия 1.0 (для CS-Cart 4.x.x) Добавлены недостающие символы для украинского и польского языков.
Поддерживаемый украинский алфавит (33 буквы)
а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я
Обработка украинского алфавита в 2-х режимах:
- Полный. Заменяет литералы русского языка. Используется при добавлении или изменении контента на украинском языке.
- Частичный. Добавляет литералы ґ, є, і, ї Используется если добавляется или изменяется контент отличный от украинского (например русский), но текст на украинском.
Поддерживаемый польский алфавит (32 буквы)
a ą b c ć d e ę f g h i j k l ł m n ń o ó p r s ś t u w y z ź ż
ds__literal_converter_1_0.zip (15,5 КБ)
Распаковать архив в корень сайта, установить в разделе управления модулями.
3 лайка
@developstores Спасибо за модуль! С последними версиями карта норм работает?
Модуль не дружит с АБ карта сайта и АБ выгрузка.
Сейчас пользуем кривой модуль перевода от Симтек и он не переводит адреса.
По сути ему надо просто урлы с русским транслитом удалить из украинского перевода, чтоб новые сгенерились уже по украинской схеме.
Но он этого не делает. И поддержка морозится.
Контентщики добавляют товар и частенько забывают удалять укр урлы.
Поэтому вбил в БД по расписанию такую команду, удаляющую укр урлы.
DELETE FROM cscart_seo_names
WHERE cscart_seo_names
.object_id
> 1 AND cscart_seo_names
.type
= ‘p’ AND cscart_seo_names
.lang_code
= ‘uk’
Чтобы урлы удалялись.
Но оказалось, что если ДО открытия товара модули АБ сгенерят карту/выгрузку, то будут ссылки с русским транслитом и НЕрабочии.
Битые и в карте сайта и в мерчанте.
Себе приколхозил прям в папку /app/schemas/literal_converter
перенес файлы транслита и внес изменения в схему.
use Tygh\Registry;
$files = array(
'literal_converter/general.php',
'literal_converter/ru.php',
'literal_converter/umlauts.php',
);
$schema = array();
foreach ($files as $file) {
$schema = include(Registry::get('config.dir.schemas') . $file);
}
// Ukrainian language
if (DESCR_SL == 'uk'){
$files = array(
'literal_converter/general.php',
'literal_converter/umlauts.php'
);
$schema = array();
foreach ($files as $file) {
$schema = include(Registry::get('config.dir.schemas') . $file);
}
$schema = include(Registry::get('config.dir.schemas') . 'literal_converter/uk.php');
}else{
$schema = include(Registry::get('config.dir.schemas') . 'literal_converter/uk_compatible.php');
}
return $schema;
автору сеспект однозначно из Украины.
Может сможете сделать чтоб работало без моего костыля?
@developstores
все написанное выше фигня!!!
Дело не в коде, а в том, что как сгенерируется зависит только от языка админки активного в данный момент.
По этой переменной
DESCR_SL
Можно как то определять именно для какого языка генерируется ссылка?