Alex

Alex

С нами с 20 сентября 2015; Место в рейтинге пользователей: #1010

Разные таблицы транслита для языковых контекстов

Задача — для разных языковых контекстов использовать разные таблицы переводов т.к., к примеру, в украинском «и»=>«y» а в русском «и»=>«i».
Класс modTransliterate использует общий friendly_alias_translit.
Может кто знает как заставить его использовать конфиг определенного контекста?

Пока сделал плагин:
<?php
if ($modx->event->name == 'OnDocFormSave') {
  $pagetitle = $resource->get('pagetitle');
  $translitTableName = $modx->getContext($resource->get('context_key'))->getOption('friendly_alias_translit');

        if ($translitTableName && $modx->getService('translit')) {
            $alias = $modx->translit->translate($pagetitle, $translitTableName);
        }
        $resource->set('alias', $alias);
        $resource->save();

}
Но решение плохо тем что всегда пересоздается новый alias — даже когда пользователь ввел его самостоятельно.
Alex
13 января 2017, 22:20
modx.pro
1 045
+1