2017-03-13 128 views
0

我使用TYPO3 7.6.14的新聞擴展。我想在後端的不同視圖之間切換。TYPO3新聞 - 定義自己的模板

頁TS根:

tx_news.templateLayouts {  
Custom = Gesamter Artikel2 
} 

enter image description here

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" 
     xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers" 
     data-namespace-typo3-fluid="true"> 
<f:layout name="General" /> 
<!-- 
    ===================== 
     Templates/News/List.html 
--> 

<f:section name="content"> 
    <!--TYPO3SEARCH_end--> 
    <f:if condition="{news}"> 
     <f:then> 
      <div class="news-list-view"> 
       <f:if condition="{settings.hidePagination}"> 
        <f:then> 
         <f:for each="{news}" as="newsItem"> 
          <f:if condition="{0:settings.templateLayout} == {0:'Custom}"> 
           <f:then> 
            <f:render partial="List/GesamteArtikel" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> 
           </f:then> 
           <f:else> 
            <f:render partial="List/Item" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> 
           </f:else> 
          </f:if> 
         </f:for> 
        </f:then> 
        <f:else> 
         <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}" initial="{offset:settings.offset,limit:settings.limit}"> 
          <f:for each="{paginatedNews}" as="newsItem" iteration="iterator"> 
           <f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" /> 
          </f:for> 
         </n:widget.paginate> 
        </f:else> 
       </f:if> 
      </div> 
     </f:then> 
     <f:else> 
      <div class="no-news-found"> 
       <f:translate key="list_nonewsfound" /> 
      </div> 
     </f:else> 
    </f:if> 
    <!--TYPO3SEARCH_begin--> 
</f:section> 
</html> 

在那裏我有一個名爲GesamteArtikel.html

我List.html我已經添加了我自己的文件相同的文件夾我究竟做錯了什麼?

編輯:

(文件改變了位置)

我想通了,它沒有任何影響。我把它改成類似於:

  <f:then> 
       <f:for each="{news}" as="newsItem"> 
        <f:if condition="{settings.templateLayout} == 'Custom'"> 
         <f:then> 
          <f:render partial="GesamteArtikel" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> 
         </f:then> 
         <f:else> 
          <f:render partial="GesamteArtikel" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> 
         </f:else> 
        </f:if> 
       </f:for> 
      </f:then> 

而且它什麼也沒做。

它採用

  <f:else> 
       <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}" initial="{offset:settings.offset,limit:settings.limit}"> 
        <f:for each="{paginatedNews}" as="newsItem" iteration="iterator"> 
         <f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" /> 
        </f:for> 
       </n:widget.paginate> 
      </f:else> 

然後我把它改爲

  <f:else> 
       <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}" initial="{offset:settings.offset,limit:settings.limit}"> 
        <f:for each="{paginatedNews}" as="newsItem" iteration="iterator"> 
         <f:if condition="{settings.templateLayout} == 'Layout'"> 
          <f:then> 
           <f:render partial="GesamteArtikel" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> 
          </f:then> 
          <f:else> 
           <f:render partial="List/Item" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> 
          </f:else> 
         </f:if> 
        </f:for> 
       </n:widget.paginate> 
      </f:else> 

但隨後它使用的Item.html唯一 如果我告訴兩個if語句使用GesamteArtikel(自定義模板),它會使用它,但我不想重寫舊的item.html。我想用我的自定義佈局,當我在後端選擇它...

+0

您可能還想檢查[本文檔主題](http://stackoverflow.com/documentation/typo3/2196/fluid-templating-in-typo3#t=201703140544357726448)。 – Jost

回答

0

兩件事情可能會有所幫助:

首先,它看起來像你缺少你比較一個單引號:

<f:if condition="{0:settings.templateLayout} == {0:'Custom}">

,你可以做字符串比較不陣列旁路,所以你得到的是:

<f:if condition="{settings.templateLayout} == 'Custom'"> 

的第二件事是在文件爲您的自定義佈局的位置:

在我有我的List.html我已經添加了我自己的文件名爲GesamteArtikel.html

同一文件夾中

你需要把它放在你的部分根路徑的某個地方,比如部分List/ItemEXT:my_ext/Resources/Private/Partials/List/兄弟(如果你重寫那個)。

+0

不幸的是,這並沒有幫助...我改變了我的f:如果條件如此: 並將文件放到不同的位置。 這是我的舊名單。html 新聞/資源/私人/部分/列表 這是我的自定義模板 新聞/資源/私人/部分 但我想出了一些東西,仍然可能有問題,如果條件。查看我的更新回答 – Insane

+0

(將Custom改爲Layout只是爲了測試目的) – Insane