2014-09-05 34 views
1

我正在寫一個TYPO3 4.5.4的擴展(不幸的是被迫使用這個版本)。該擴展應提供一個簡單的方法來管理和顯示列表。TYPO3 IRRE,錯誤「試圖修改記錄...」當保存在線記錄

因爲數據只是需要顯示,而且完全取決於包含的內容元素,所以我決定使用IRRE來實現這一點。

經過一段時間,我得到它的工作,現在可以創建和顯示IRRE記錄。但後來我意識到,我無法更改這些記錄並保存它們,但未收到以下錯誤消息:「嘗試修改記錄'Test'(tx_list_elements:1)未經許可,或者不存在頁面。」 - 這真的很煩人。

我以admin身份登錄的,所以我簡直不敢相信,該系統不認我做任何事情 - 但顯然我錯過了在TYPO3的權限概念的東西...

是否有你那裏的人有任何這方面的經驗?

順便說一句:我既不是TYPO3的開發者,也不想成爲其中的一員。所以,不要猶豫,告訴我一些骯髒的技巧 - 我不介意,如果這是最好的做法。這是一箇舊系統,只需要完成(我已經對TYPO3無法處理這樣一件簡單的事情着迷)。我正在幫助一個人,誰會自己完成這項工作,但不幸的是不能...

我會很高興你可以提供給我的任何提示。

謝謝

編輯

正好解決了它自己。問題是一個配置錯誤的ext_tables.php,其中我將「pid」作爲我的IRRE關係的「foreign_field」。

Kickstarter談到了一些奇怪的父母< - >孩子關係的東西,當我配置關係。那麼我假定,該pid可能代表「父母ID」,因爲在結果表中沒有其他字段,這可能是一個適當的外鍵。但顯然「pid」代表「頁面ID」,它指向頁面,該元素屬於,我想(這是否有意義 - TYPO3並不在意......)。添加一個新字段作爲外鍵是解決方案。

我猜TYPO3的開發者肯定會知道這個。但是我仍然發現無法得到這樣的錯誤信息。爲什麼不呢:「老兄,你真的想用這個領域作爲外鍵嗎?這對於其他系統來說太重要了。」我的意思是,可能有一點,這個配置被驗證,對嗎?只是一個想法...

因此,如果任何人在爲他/她的擴展做一些IRRE配置時遇到同樣的錯誤。我是一個人,他做錯了,並最終記錄在這件事上;)

回答

0

避免使用pid作爲inline(IRRE)類型的1:n關係的父指針。如上所述,這會導致子記錄放在不同的頁面上,因爲pid是TYPO3範圍內默認使用的「page-id」。

此外,https://github.com/TYPO3/styleguide給出了可能的配置的一個很好的概述,包括使用內聯關係記錄編輯的字段。