如何将用户组访问字段或选项卡添加到 TYPO3 中的 FAL 对象?

问题描述 投票:0回答:2

我正在为“文件链接”元素制作自定义模板。

在其中我想禁用某些文件的下载,直到前端用户登录。

所以我的问题是带有前端用户组字段的“访问”选项卡在文件对象上不可用。

如何添加访问选项卡?

我尝试用以下方法制作

sys_file_metadata.php

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('sys_file_metadata', 'access','', 'after:title');

本质上,我想显示所有链接的列表,但根据用户组,有些链接会链接到登录页面而不是下载。

编辑: 我可以像这样手动添加用户组字段:

$newFields = [
    'fe_groups' => [
        'label' => 'Usergroup Access',
        'exclude' => true,
        'config' => [
            'type' => 'select',
            'renderType' => 'selectMultipleSideBySide',
            'size' => 5,
            'maxitems' => 20,
            'foreign_table' => 'fe_groups',
        ]
    ],
];

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_file_metadata', $newFields);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
    'sys_file_metadata',
    'fe_groups',
    '',
    'after:title'
);

但是唯一的问题是,调试模板的时候不显示?

php typo3 fluid
2个回答
1
投票

您的问题可能不仅仅是“访问”选项卡...到目前为止,FAL 不支持 FE 组处理。所以仅仅让字段显示在后端并不意味着这些也适用。

如果您真的想保护文件,请查看以下扩展之一:

如果您的用例只需要不同的显示而不是硬性限制,也许您可以使用文件集合


0
投票

事实证明非常简单。要查找我正在使用的可用属性:

<f:debug>{_all}</f:debug>

然而,这给了我一个简短的属性列表。因此,当我使用

<f:debug>{file.properties}</f:debug>
时,它扩展了该列表以包含我正在寻找的值:
fe_groups

© www.soinside.com 2019 - 2024. All rights reserved.