Для транслитерации фалов пользуюсь модулем https://www.drupal.org/project/transliterate_filenames
После обновления Друпала до версии 8.6.11 транслитерация стала работать не так, как работала до этого.
Раньше при загрузке файла "Всемирная неделя иммунизации.jpg" его имя в админке Друпала оставалось таким же, а имя файла на диске транслитерировалось в "vsemirnaya_nedelya_immunizacii.jpg"
Сейчас файл транслитерируется полностью, т.е. в админке он отображается также: "vsemirnaya_nedelya_immunizacii.jpg"
Как вернуть "обычную" транслитерацию?
Чтоб было в админке так:
"Всемирная неделя иммунизации.jpg"
а на диске так:
"vsemirnaya_nedelya_immunizacii.jpg"
На скриншоте видно разницу в именовании файлов в админке до 14 марта и после.
Комментарии
Проверил только что на одном из сайтов, да всё так.
По мнению мейнтейнеров ядра, привычное нам поведение было багом. Баг исправили
https://www.drupal.org/node/3032376
Спасибо за ответ! Действительно именно тот патч отвечает за это.
В нем добавлена всего одна строка:
// due to an existing file.
$file->setFilename(\Drupal::service('file_system')->basename($file->destination));
Закомментировал её, всё стало работать как раньше. Не совсем понял зачем они её добавили.
Я очень не рекомендую вам править файлы ядра. Да ещё и убирать код, который добавили для безопасности.
А что еще делать, если в ядре ошибка или недоработка, которая большинству пользователей не мешает, а тебе мешает? У меня два патча в ядре, которые я вынужден тащить и переприменять после каждого апдейта ядра уже больше года, патчи выложены на org, но мейнтейнерами ядра игнорируются.
В этой строчке кода нет ничего для безопасности, обычный зуд что-то "улучшить", не исследовав как следует все возможные юз-кейсы и последствия.
Зачем переприменять? Просто в композер закинул и всё.
Обязательно когда-нибудь освою композер, давно себе обещаю
PS Иногда патченые файлы еще и меняются от версии к версии, тогда все равно приходится разбираться и править вручную...
Всё равно с композером удобнее - один раз поправил патч (или нашёл нужный) и потом эти изменения просто добавлять в другие проекты перед обновлением.
Да я верю - просто надо время на это выделить, это ж не новый проект, а уже существующий, и важно ничего не сломать. А всё время занято решением более насущных проблем типа как не платить гуглу денег за карты
Никлан подробно рассказывал как перенести текущий проект на composer и обратно. Там делов на 30 минут.
А как вы обновляетесь?
Постоянно правите кусочки в ядре/контрибе вручную?
Это не технологично, не автоматизировано, не безопасно.
Да читал я, помнится всё равно вопросы оставались, и насчет 30 минут не уверен я.
Но это уже полный оффтопик пошёл, давайте я буду сообщество терзать вопросами по композеру в отдельной теме когда соберусь с духом