2017-12-11 17 views
0

私はコミュニティのヘルプが必要です。フォルダの名前を変更するときにユーザーの入力をチェックするプラグインを作成する必要があります。プラグインは新しいRenamedフォルダを確認し、保存する前に見つかったスペースを削除する必要があります。CKFinderプラグイン - PHP - フォルダの名前を変更するときに空き領域が見つかりました

私はremoveFolderSpace関数でスタックされており、どのように完了するかわかりません。誰かが助けてくれると嬉しいです!

答えて

0

この結果を得るには、フロントエンド(JavaScript)とコネクタ(PHP)の両方に小さなプラグインを作成する必要があります。ブートストラップコードをプラグイン

PHP:

namespace CKSource\CKFinder\Plugin\SanitizeFolderName; 

use CKSource\CKFinder\CKFinder; 
use CKSource\CKFinder\Event\CKFinderEvent; 
use CKSource\CKFinder\Event\RenameFolderEvent; 
use CKSource\CKFinder\Plugin\PluginInterface; 
use Symfony\Component\EventDispatcher\EventSubscriberInterface; 

class SanitizeFolderName implements PluginInterface, EventSubscriberInterface 
{ 
    protected $app; 

    public function setContainer(CKFinder $app) 
    { 
     $this->app = $app; 
    } 

    public function getDefaultConfig() 
    { 
     return []; 
    } 

    public function onFolderRename(RenameFolderEvent $event) 
    { 
     $event->setNewFolderName(str_replace(' ', '_', $event->getNewFolderName())); 
    } 

    public static function getSubscribedEvents() 
    { 
     return [ 
      CKFinderEvent::RENAME_FOLDER => 'onFolderRename' 
     ]; 
    } 
} 

のJavaScriptコード:あなたのコードはCREATEFOLDERコマンドのために働いたが、私はRenameFolderしようとしたとき、私はフォルダの名前を変更するたびに、それは誤りと、画面の空白を表示し、

CKFinder.start({ 
    onInit: function(finder) { 
     finder.on('command:before:RenameFolder', function() { 
      finder.once('command:before:GetFiles', function(evt) { 
       var folder = evt.data.folder; 
       folder.set('name', folder.get('name').replace(/ /g, '_')); 
      }); 
     }); 
    } 
}); 
+0

私はフロントエンドでckfinderを開くたびにエラーを表示し続けますが、フォルダはファイル構造上で名前が変更されます。ログには、WorkingFolderが見つからないと表示されます。 –

関連する問題