我正在为 TYPO3 4.5.4 编写一个扩展(不幸的是被迫使用这个版本)。扩展应该提供一种简单的方法来管理和显示列表。
因为数据只需要显示并且完全取决于包含的内容元素,所以我决定使用 IRRE 来实现它。
过了一会儿,我让它开始工作,现在可以创建和显示 IRRE 记录了。但后来我意识到如果没有收到以下错误消息,我无法更改这些记录并保存它们:“未经许可尝试修改记录'Test'(tx_list_elements:1)。或不存在的页面。” - 这真的很烦人。
我以管理员身份登录,所以我简直不敢相信,系统拒绝我做任何事情——但显然我在 TYPO3 的权限概念中遗漏了一些东西......
你们有没有人有这方面的经验?
顺便说一句:我既不是 TYPO3 开发者,也没有兴趣成为其中的一员。所以不要犹豫,向我展示一些肮脏的技巧 - 我不介意这是否是最佳做法。这是一个旧系统,只需要完成(我已经对 TYPO3 无法处理如此简单的事情着迷了)。我正在帮助一个人,他本来可以自己完成这项工作,但不幸的是无法...
如果您能提供任何提示,我将非常高兴。
谢谢
编辑
只是自己解决了。问题是 ext_tables.php 配置错误,我将“pid”作为 IRRE 关系的“foreign_field”。
当我配置关系时,Kickstarter 谈到了一些奇怪的父 <-> 子关系。我当时假设,该 pid 可能代表“父 ID”,因为在结果表中没有其他字段,这可能是一个正确的外键。但显然“pid”代表“页面 ID”,它指向页面,元素所属的,我猜(这是否有意义 - TYPO3 不在乎......)。添加一个新字段作为外键是解决方案。
我想 TYPO3 开发人员肯定知道这个。但是我仍然发现不可能得到这样的错误消息。为什么不:“伙计,你真的想使用这个字段作为外键吗?这对于其他系统的东西来说太重要了。”。我的意思是,可能有一点,这个配置是经过验证的,对吧?只是一个想法...
因此,如果有人在为他/她的扩展进行一些 IRRE 配置时偶然发现了同样的错误。我是一个做错事的人,最后在这方面记录了一些东西;)