我正在开发一个显示自定义表数据的Drupal 9网站,我需要为它提供CSV/XLS导出链接。
目前,由于Views自定义表模块的使用,我已经定义了一个使用自定义表数据的视图,它工作得很好。我已经安装了视图数据导出模块,并配置了一个显示器来将数据导出为CSV。此显示器连接到基本显示器上。
CSV按钮显示在视图中,当我以管理员身份登录时,一切都正常。当我只是一个经过身份验证的用户时,单击按钮,就会在CSV中呈现并导出附加到CSV导出的显示(所以文件中有所有的HTML )。
我认为这是一个权限问题:导出使用REST核心模块,这个模块对实体执行权限检查(例如,用户能够访问实体)。在我看来,没有实体,因为数据来自视图自定义表模块(通过hook_data()
)。
我不确定是否有一个简单的解决方案,或者我是否需要定义自己的端点(并找到一个解决方案来保持公开过滤器)。此外,Drupal 8和Drupal 9无法使用视图数据导出PHPExcel模块。
发布于 2022-05-12 14:14:45
如果您在以用户1身份登录时所做的工作(管理员),那么听起来您需要调整某些权限并清除缓存,以使其对其他“用户”或“角色”生效。
为了测试它,我将创建一个测试用户和一个名为“测试角色”的角色。然后确保将测试用户分配给测试角色。然后确保,您给出了“测试角色”模块所需的.我在下面的查看导出表文档中看到
如果不希望创建测试用户/角色(/admin/people/权限),还可以检查身份验证的用户/角色是否有以下检查。
下面的权限随模块而来,我想,您将看到模块安装和缓存是否清除等。
另外,再次检查一下您对数据输出模块的信任(特别是#8)。
最后,以“测试用户”的身份登录并签出。
如果某些步骤不起作用,请检查日志(admin/reports/dblog)
https://drupal.stackexchange.com/questions/311119
复制相似问题