SilverStripe 3.1+ 更改 FileNameFilter 默认替换

SilverStripe 3.1+ change FileNameFilter default replacements

当前上传的文件中带有“_”(下划线)的文件会自动替换为“-”(连字符)。我需要他们留下来 _ 。 同本期:https://github.com/silverstripe/silverstripe-cms/issues/719

我通过 FileNameFilter 发现了这种情况 http://api.silverstripe.org/master/class-FileNameFilter.html#_setReplacements

我已尝试按照说明通过将此添加到 YAML 配置来停止此操作:

FileNameFilter:
  default_use_transliterator: false
  default_replacements:

这没有效果,我需要声明新的默认值吗?

同时更改此行:

'/_/' => '-', // underscores to dashes

至此

'/_/' => '_', // underscores to dashes

但这只是删除它们并缩小差距..

有人可以建议实现此目标的正确方法吗?

我发现您也可以在 _config.php 文件中执行此操作!这奏效了。我会留下这个问题,因为它对像我这样的人有用。

_config.php

FileNameFilter::$default_use_transliterator = false;
FileNameFilter::$default_replacements = array();