2016-04-29 9 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'はプライベートな静的なものです。つまり、PHPの致命的なエラーが発生した場合、それを定義しているクラス(この場合は' FileNameFilter')の外では変更できません。 YMLを変更したときに、あなたが行う必要があるキャッシュマニフェスト(flush = all)をクリアするのを忘れてしまったと思います.YMLの設定をSIlverStripeのプライベートスタティックに変更するたびに。 – theruss

関連する問題