2016-10-04 84 views
0

我想用TYPO3製作一個「信息框」。TYPO3如何創建自定義的「信息框」?

在我的HTML模板我有信息框:

<div id="infobox"> 
    <!-- ###infobox### start --> 
    CONTENT from the backend 
    <!-- ###infobox### start --> 
</div> 
... 

現在在我的後臺,我有一個內容元素,即保持在前端爲我的信息框內容:

Backend

我想要做的是:如果我通過後臺「禁用按鈕」enter image description here禁用內容元素,我想更改我的#infobox加入display:none)或者如果我重新啓用它,我想刪除display:none

我希望我能解釋我的問題,並希望有人能幫助我。

回答

0

據我所知,您希望內容元素的禁用標誌隻影響呈現的輸出,而不是關閉呈現。

我擔心這不太可能。 disabled列是TYPO3所謂的啓用字段的一部分,對於這些字段,由TYPO3 API在整個地方添加檢查。由於這個原因,「隱藏」記錄通常甚至不從數據庫中選擇,所以它們也不會被饋送到渲染引擎。

另一種方法是使用自定義字段的自定義內容類型用於您的目的,隱藏該類型窗體中的「隱藏」字段並將自定義字段置於其位置。這可以通過標準的TYPO3核心機制來完成。

然而,你不能避免的是,有人可以隱藏/禁用頁面或列表模塊中的內容元素。這是無法阻止的,因爲您的內容需要與其他內容一樣位於同一個表(tt_content)中,並且啓用字段的設置對於每個表而言都是全局的。

0

您可以使用自定義的流體內容元素

見:http://www.creativeworkspace.de/blog/artikel/eigene-inhaltselemente-im-typo3-cms-62x-und-7x/

或:https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/7.6/AddingYourOwnContentElements/Index.html

,或者你使用自定義佈局

TCEFORM.tt_content { 
    layout { 
     addItems { 
      item1 = Name of Layout 
     } 
    } 
} 

在這之後,你可以得到它{data.layout}在您的模板中

{f:if(contition:'{data.layout} == item1',then:'display:none')} 
+0

嘿,謝謝你的回答!但我認爲這不是我正在尋找的。也許我沒有太好解釋我的問題,對不起。我會稍後編輯我的問題,並更詳細地討論我的問題! – Joggal