Модуль транслитерации помогает нам с переименованием загружаемых файлов. Но мне лично не все нравится в его работе. Например, пробелы он заменяет символом нижнего подчеркивания, а хотелось бы получить «дефис».
Хоть у модуля и нет тонких настроек, но он позволяет другим модулям проводить предварительную обработку имени файла. Для чего нужно зацепиться за:
1 |
hook_transliteration_clean_filename_prepare_alter(&$filename, $source_langcode); |
В моём случае для модуля mymodule я пишу следующий код:
1 2 3 4 5 |
/* цепляемся к транслитерации */ function mymodule_transliteration_clean_filename_prepare_alter (&$filename, $source_langcode) { $filename = strtr($filename, ' _', '--'); } |
Так мы заменим подчеркивания и пробелы на символ тире.
В результате работы траслитерации, мы получим из названия
1 |
BLITZ PUPPY SMALL & MEDIUM__ BREEDS - копия.png |
результат работы только модуля транслитерации:
1 |
blitz_puppy_small_medium_breeds_-_kopiya.png |
модифицированный результат:
1 |
blitz-puppy-small-medium-breeds-kopiya.png |
Оптимизаторам «понравится» второй вариант намного больше, чем первый :).