TYPO3 v11自定义后端模块:生成记录编辑链接遇权限报错
问题分析与解决
你的问题出在record_edit路由的参数配置不符合TYPO3后端编辑机制的规范,具体修正点如下:
1. 修正edit参数的结构
edit参数的正确格式是:以数据表名为外层键,内层以记录UID为键,值固定为'edit'。你当前的写法把campaign作为内层键,这不符合路由参数要求,导致系统无法正确识别要编辑的记录。
2. 必须添加returnUrl参数
TYPO3的记录编辑路由要求传入returnUrl,用于编辑完成后跳转回你的自定义模块,缺少该参数也会引发加载异常。
修正后的Fluid代码
<f:be.link route="record_edit" parameters="{ id: 12316, edit: {tx_mydata_domain_model_campaign: {campaign.uid: 'edit'} }, returnUrl: '{f:be.uri(route: \'你的自定义模块路由标识\')}' }" > edit </f:be.link>
将代码中的'你的自定义模块路由标识'替换为你实际的后端模块路由名称即可。
补充说明
管理员在列表模块能正常编辑,是因为列表模块自动生成了符合规范的edit参数和returnUrl;你手动构造的参数不符合要求,系统抛出的权限提示有误导性,实际是参数错误导致的编辑表单加载失败。
内容的提问来源于stack exchange,提问作者Stefan Padberg
相关产品推荐
相关产品推荐

