设置如下:我的客户希望为用户提供为页面选择背景图像的可能性。为了简单起见,假设我们在页面表中创建一个新字段,并单独配置其TCA,因此我们完全没有副作用。
现在是棘手的部分。用户应该为该字段选择图像的存储空间应该是有限的。因此,即使后端用户具有管理权限,因此可以访问所有文件存储和所有文件,用户也应该只能从给定(配置的)存储中选择图像。
对于特定的TCA配置,这可能吗?
我会首先尝试为这个需求扩展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;
}
// ...
}