Как использовать:
Создаем новый плагин с именем TransliterateFileNames
копируем в плагин код с Github
назначаем на событие OnFileManagerUpload.
Источник: community.modx-cms.ru/blog/2478.html
Здесь добавлю уже от себя. Лично я пользуюсь этой версией плагина:
<?php switch ($modx->event->name) { case 'OnFileManagerUpload': $generator = $modx->newObject('modResource'); $bases = $source->getBases($directory); $fullPath = $bases['pathAbsolute'].ltrim($directory,'/'); $directory = $source->fileHandler->make($fullPath); foreach ($files as $file) { $ext = @pathinfo($file['name'],PATHINFO_EXTENSION); rename($directory->getPath().$file['name'], $directory->getPath() . str_replace($ext, '.'.$ext, $generator->cleanAlias($file['name']))); } break; default: break; } return true;
Дело в том, что в MODX уже заложены основы для реализации автоматических транслитераций или переводов для псевдонимов страниц. Например, можно установить плагин Translit, который будет автоматически транслитерировать адреса страниц. Или плагин yTranslit, который будет переводить адреса на английский с помощью сервиса Яндекс-переводов.
Так вот эта версия плагина позволяет использовать принятую на сайте систему транслитерации/перевода и загружаемые файлы будут легко вписываться в общую картину сайта.
Если убрать эту точку из str_replace($ext, '.'.$ext ничего страшного не произойдет? Не силен в php, к сожалению.
Подскажите, пожалуйста как убрать вот это лишнее тире перед форматом *-.jpg
gist.github.com/govza/5136346
как правильно будет? напишите пожалуйста. Спасибо.
был включен этот символ для вырезания., теперь, после имени он почему то точку вставляет, и получается вот такой вид типа: file.-27-10-2016.jpg
/[\,\$\*\№\;\*\?\»\.\.\«\!\0\(\)\x0B\t\n\r\f\a&=+%#<>"~:`@\?\[\]\{\}\|\^'\\]/
поэтому вот модифицированный код.
Подскажи пожалуйста, если знаешь.
В общем, плагин выдаёт такую ошибку если грузить файлы на облако через компонент Swift, может посоветуешь, что-нибудь попробовать?
Ну или вообще, использовать процессор browser/file/rename
Но проблема тут не в дополнении, а в «облачности» — просто rename не сработает, так как файлы не на сервере находятся, а в облаке. Поэтому надо облаку передать команду на переименование.
Получаются файлы типа: file-27-10-2016jpg
спасибо.
Заметил что плагин неправильно понимает букву «й», пишет i с двумя точками сверху. Подскажи пожалуйста как это поправить.
Импорт — PHPExcel
файл импорта — excel
В бекенде работает translit нормально
— ниже код импорта — — strings.php который подключается в самом начале —
Спасибо
Замени строчку
На
Или плагин для этих версий не актуален? Спасибо.