2016-11-18 63 views

回答

0

此答案與TYPO3 7.6和v8分支機構相關。我不確定TYPO3 v9會出現什麼情況。

富文本編輯器(RTE)組分是FormEngine分量和FormEngine部件工作由兩個模式:

  • 一種模式創建包含TCEForms陣列和它們需要所有相關資源的結構。
  • 另一種單一模式呈現該結構並插入每個組件所需的資產(並且對於使用完全相同資產的組件,只加載它們一次)。

這意味着,RTE將不會被初始化,直到很晚(創建的所有結構之後,但是他們將之前 - 因爲我假設的「初始化」你的意思是在PHP端,而不是在客戶端瀏覽器),你可以選擇讀取常量並在渲染之前處理這些結構。你重寫的初始化確實取決於TS常量。

,將需要爲你的任務多一點背景資料:

  • 爲了操縱形式結構,目前推薦的做法是創建一個自定義FormEngine成分,並添加作爲RTE的依賴零件。這使得您的組件每次使用RTE時都會被調用(因此您可以影響每個字段的各個參數以及附加全局或ID特定的資產)。
  • FormEngine組件的創建起初可能有點困難,所以一個例子會派上用場。該URL顯示Flux擴展添加的自定義組件 - 它通過在組件註冊表中添加新的數組條目並使用依賴項和指令前後的新條目來實現。 https://github.com/FluidTYPO3/flux/blob/development/ext_localconf.php#L85
  • 您可以使用此相同的註冊表操作來更改現有組件的依賴關係,將您自己添加到列表中,並且特別針對RTE FormEngine組件(其類名是TYPO3\CMS\Rtehtmlarea\Form\Element\RichTextElement - https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_7-6/typo3/sysext/rtehtmlarea/Classes/Form/Element/RichTextElement.php)。

希望這個信息足以指導您添加CSS覆蓋任何FormEngine組件的完美解決方案,並只會觸發它究竟是當類型的組件被使用。