Разные таблицы транслита для языковых контекстов
        Задача — для разных языковых контекстов использовать разные таблицы переводов т.к., к примеру, в украинском «и»=>«y» а в русском «и»=>«i».
Класс modTransliterate использует общий friendly_alias_translit.
Может кто знает как заставить его использовать конфиг определенного контекста?
Пока сделал плагин:
    
    
                                                                                
            Класс 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 — даже когда пользователь ввел его самостоятельно.    Комментарии: 4
                Так устанавливайте алиасы только при первом сохранении ($mode == 'new'), и проверив, что пользователь сам ничего не ввел.            
                    
                Спасибо за интерес к моему топику.
Не подскажите, как я могу проверить что пользователь сам ничего не ввел?
Если он обновит ресурс и стрет алиас — тогда ($mode == 'new') не поможет.
                    Не подскажите, как я могу проверить что пользователь сам ничего не ввел?
Если он обновит ресурс и стрет алиас — тогда ($mode == 'new') не поможет.
как я могу проверить что пользователь сам ничего не ввел?Так же, как и получаете pagetitle:
$resource->get('alias');Если он обновит ресурс и стрет алиас — тогда ($mode == 'new') не поможет.А, похоже, это и не нужно, будет достаточно только проверки алиаса на пустоту. Во время создания он же либо пустой, либо вручную заполнен пользователем. Конечно, если у вас отключена стандартная настройка генерации псевдонимов.
Конечно, если у вас отключена стандартная настройка генерации псевдонимов.Точно, об этом я не подумал. Спасибо
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.