1
votes

I am writing an extension for TYPO3 4.5.4 (unfortunately forced to use this version). The extension should provide a simple method to manage and display lists.

Because the data just needs to be displayed and is solely depending on the containing content element, I decided to use IRRE to implement this.

After a while I got it to work and can create and display IRRE records now. But then I realized that I cannot change these records and save them without getting the following error message: "Attempt to modify record 'Test' (tx_list_elements:1) without permission. Or non-existing page." - Which is really annoying.

I am logged in as admin, so I just can't believe, that the system denies me to do anything - but obviously I'm missing something in TYPO3's permission concept...

Does any of you people out there have any experience with this?

BTW: I'am neither a TYPO3 developer, nor am I interested in becoming one. So do not hesitate to show me some dirty tricks - I don't mind if it's best practice. It's an old system and it just needs to be done (I am already fascinated of TYPO3's inability of handling such a dead simple thing). I'm helping a guy out, who would have done the job himself but is unfortunately not able to...

I would be really happy about any kind of hint you could provide me.

Thank you

EDIT

Just solved it myself. The problem was a misconfigured ext_tables.php, in which I took "pid" as "foreign_field" for my IRRE-relation.

Kickstarter spoke of some weird parent <-> child relationship stuff, when I configured the relation. I assumed then, that pid might stand for "parent ID", because in the resulting table was no other field, that could have been a proper foreign key. But obviously "pid" stands for "page ID", which points to the page, the element belongs to, I guess (whether this makes sense or not - TYPO3 doesn't care...). Adding a new field as a foreign key is the solution.

I guess a TYPO3 developer would definitely have known this one. But I still find it impossible to get such an error message as a result. Why not: "Dude, do you really want to use THIS field as a foreign key? It's like way too important for other system stuff.". I mean, there might be a point, where this configuration is validated, right? Just a thought...

So if anyone stumbles upon the same error while doing some IRRE configuration for his/her extension. I am one guy who did it wrong and finally documented something on this ;)

1

1 Answers

0
votes

Avoid using pid as parent-pointer for 1:n relations of type inline (IRRE). As mentioned above already, this causes child records to be put on different pages, since pid is TYPO3-wide used as "page-id" per default.

Besides that, https://github.com/TYPO3/styleguide gives a good overview of possible configurations, including fields using Inline Relational Record Editing.