2016-04-29 84 views
0

當前上傳帶有'_'(下劃線)的文件將自動替換爲' - '(連字符)。我需要他們留下來。 與此相同的問題:https://github.com/silverstripe/silverstripe-cms/issues/719SilverStripe 3.1+更改FileNameFilter默認替換

我發現這個通過了FilenameFilter發生http://api.silverstripe.org/master/class-FileNameFilter.html#_setReplacements

我試圖按照指示加入該到YAML配置停止這樣的:

FileNameFilter: 
    default_use_transliterator: false 
    default_replacements: 

這不起作用,我需要說明新的默認值?

而且也改變這一行:

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

這個

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

但這只是刪除它們,並關閉差距..

有人能在正確的方式來實現建議這個?

回答

0

我意識到你也可以在你的_config.php文件中做到這一點!這一直奏效。我會留下這個問題,這對像我這樣的人很有用。

_config.php

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

你確定它的工作?你在php.ini中設置了'error_reporting'嗎? '$ default_use_transliterator'是一個私有靜態的,這意味着你不能在定義它的類之外修改它(在這種情況下是'FileNameFilter')如果你這樣做,你應該得到一個PHP致命錯誤。 我的猜測是,當你改變YML時,你忘記清除你需要做的緩存清單(flush = all),每次你將YML配置更改爲SIlverStripe的私有靜態。 – theruss