2017-11-17 4 views
0

設定は次のとおりです。 私のクライアントは、ユーザーにページの背景イメージを選択させたいと考えています。わかりやすくするために、ページテーブルに新しいフィールドを作成し、そのTCAを別々に設定すると、完全に副作用が発生しています。ファイル参照を特定のファイルストレージに限定することはできますか?

今や難しい部分があります。ストレージは、ユーザーがそのフィールドの画像を選択する必要があります、制限する必要があります。したがって、バックエンドユーザーが管理者権限を持ち、すべてのファイルストレージとすべてのファイルにアクセスできる場合でも、ユーザーは特定の(構成された)ストレージからのみイメージを選択できる必要があります。

これは、特定のTCA設定で何とか可能ですか?

答えて

0

この要件を満たすためにまずFileBrowserを拡張しようとします。ファイルの可視性について何も言わなかったので、サブクラスでfileIsSelectableInFileListを上書きすることができます。純粋なTCA機能ではありませんが、実装によってルールセットのより深い統合が可能になります。

class LocalStorageBrowser extends FileBrowser { 
    // users should only be able to select files from a specific driver 
    protected function fileIsSelectableInFileList(FileInterface $file, array $imgInfo) 
    { 
     return $file->getStorage()->getDriver() instanceof LocalDriver; 
    } 
    // ... 
} 
+0

まあ、XClassingは常に可能ですが、実際は私の最初の選択ではありません。私は隠された構成などを望んだ。 :/ –

+0

これは伝統的な 'すべてのFileBrowserにフック' XClassingとは異なります。これはFileBrowserとはちょうど異なるImplentationなので、あなたは1つのフィールドだけに固定できます。 – Cedric

関連する問題