设置如下: 我的客户希望为用户提供为页面选择背景图像的可能性。为了简单起见,我们假设我们在页面表中创建了一个新字段并单独配置其TCA,因此我们完全没有副作用。
现在是棘手的部分。存储,用户应该从该字段中选择图像,应该受到限制。因此,即使后端用户具有管理员权限并因此访问所有文件存储和所有文件,用户也应该只能从给定(已配置)的存储中选择图像。
使用特定的TCA配置是否可行?
答案 0 :(得分: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;
}
// ...
}