Как использовать translit из сниппета?
В кастомном сниппете идет массовое создание ресурсов. Как использовать транслитерацию (компонент транслит) в самом сниппете?
Комментарии: 5
Что-то типа такого:
$title = $page->get('pagetitle');
$alias = $page->cleanAlias($title);
$aliasPath = $page->getAliasPath($alias);
$response = $modx->runProcessor('resource/update',array(
'id' => $page->get('id'),
'pagetitle' => $title,
'context_key' => 'web',
'alias' => $alias,
'uri' => $aliasPath
)
);
$options = array();
$translit = $modx->getOption('friendly_alias_translit', $options, 'russian');
$translitClass = $modx->getOption('friendly_alias_translit_class', $options, 'translit.modTransliterate');
$translitClassPath = $modx->getOption('friendly_alias_translit_class_path', $options, $modx->getOption('core_path', $options, MODX_CORE_PATH) . 'components/');
$modx->getService('translit', $translitClass, $translitClassPath, $options);
$transliteratedtext = $modx->translit->translate($text, $translit);
Так вроде если не указывать алиас при создании, например:
Или я чего-то не понял?
$response = $modx->runProcessor('resource/update',array(
'pagetitle' => $title,
)
);
то алиас он создаст сам, причем будет использовать те правила которые ты прописал в настройках. Т.е. не стоит заморачиваться по этому поводу если тебе нужен стандартный алиас при верной настройки транслитерации.Или я чего-то не понял?
Ну да, но это справедливо для создаваемых элементов. Но для обновляемых скорее всего нужно пересоздать URL, если нужно.
Ну так автор в первом предложении писал «массовое создание ресурсов»
Ну ок =)
Ну ок =)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.