2012-02-27 81 views
0

我正在做一個擴展,用戶可以發佈帖子。但是我希望擴展程序是動態的,以便例如在一個頁面上用戶可以上傳圖片,而在另一個頁面上,用戶不能上傳圖片而只是上傳文本。Typo3:是否有可能爲擴展製作自定義柔性?

我希望能夠爲插件後端創建一個模板,爲前端創建一個模板,您可以爲插件的每次使用修改該模板。 我知道有flexform但插件的用戶必須修改插件...

是可能的,如果是這樣,我該怎麼做?

+0

您的意思是說,flexform配置的可變性不會侷限於預定義數量的集合,而會是* indefinite *,換句話說就是每個插件使用的自定義? – tmt 2012-02-27 16:06:07

+0

@cascaval是多數民衆贊成在正確的。 – Patrik 2012-02-27 16:11:36

+0

用戶本身應該創建flexforms? – tmt 2012-02-27 16:18:29

回答

1

在使用核心方法中的一些現有鉤子呈現之前,您應該能夠修改字段pi_flexform的TCA,從而更改爲您的插件加載的XML文件(包含flexform配置)。由於這是頁面配置,每個頁面可以不同,但​​它可以由子頁面繼承。

雖然class.t3lib_tceforms.php含有大量的鉤,我認爲,在飛行改變TCA你將不得不使用一個不同:postUserLookUpt3lib/class.t3lib_userauth.php

  1. 創建將包含方法修改TCA和ext_localconf.php註冊它的類: $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['postUserLookUp'][] = 'EXT:YOUR_EXTENSION/class.YOUR_CLASS.php:YOUR_CLASS->YOUR_METHOD';

  2. 在一個值自定義方法重寫TCA爲$TCA['tt_content']['columns']['pi_flexform']['config']['ds']['YOUR_EXTENSION_pi1,list']您的管理員組中頁面配置。 t3lib_BEfunc::getModTSconfig()應該讓你加載頁面配置,它取決於你決定什麼密鑰,你會尋找。

注意:這是未經檢驗的理論,但它的原理是基於我的自定義擴展,我動態修改TCA之一。

相關問題