Web サイトのアセットを管理するために elFinder を使用していますが、デフォルトの機能はうまく機能します。ただし、コントローラーにあるいくつかの PHP 関数に追加のロジックを追加する必要があります。
ロジックを追加したい場所は、特にファイルが実際に削除される前<elfinder_Dir>/PHP/elFinderVolumeLocalFileSystem.php
の関数内です。別のクラスを呼び出して、このアセットのデータベース エントリを破棄したいと考えています。_unlink($path)
元の関数は次のようになります。
protected function _unlink($path) {
return @unlink($path);
}
次のようなコードを追加しようとすると:
protected function _unlink($path) {
var_dump($path);
return @unlink($path);
}
また
//top of file...
use controllers\ResourceManager;
//OR
//include <pathToResourceManager>
//...
protected function _unlink($path) {
ResourceManager::delteFromDB();
return @unlink($path);
}
画面に次のアラートが表示されます。
また、そのメッセージが表示されると、「ネットワーク」タブのヘッダーに、elFinder の JS 部分で期待されるのではtext/html
なく、応答ヘッダーのコンテンツ タイプが表示されることにも気付きました。application/json
カスタム ロジックを追加すると、ヘッダーの Content-type が変更されるのはなぜですか? この機能をプロジェクトに追加するより良い方法はありますか?