2016-06-16 68 views
0

我有兩個站點使用tx_news擴展名。據我所知,他們的設置是一致的。在網站A上,我添加了一個新的List.html部分,並按預期工作。然而,在網站B上,它完全忽略了我的List覆蓋。TYPO3 tx_news擴展名不使用替代模板

我已經三重檢查了文件路徑,以確保打字稿指向正確的位置,但仍然使用默認設置。這裏有什麼可能是錯的?

plugin.tx_news { 
    view { 
    templateRootPaths > 
    templateRootPaths { 
     0 = EXT:news/Resources/Private/Templates/ 
     1 = fileadmin/templates/example/news/Templates/ 
    } 
    partialRootPaths > 
    partialRootPaths { 
     0 = EXT:news/Resources/Private/Partials/ 
     1 = fileadmin/templates/example/news/Partials/ 
    } 
    layoutRootPaths > 
    layoutRootPaths { 
     0 = EXT:news/Resources/Private/Layouts/ 
     1 = fileadmin/templates/example/news/Layouts/ 
    } 
    } 
} 
+1

入住的是Typo腳本對象瀏覽器,如果你通過你的模板的設置看到這行。 –

+1

@AndrásOttó檢查對象瀏覽器顯示我有一個}在安裝腳本中較早丟失。將其添加回來解決問題。簡單!作出回答,我會選擇它。 – user500665

回答

2

你的腳本看起來不錯。當TYPO3中出現類似情況時,可以選擇檢查TypoScript有效或者真正將這些更改添加到正確位置。

進入的BE,選擇模板模塊,並與Typo腳本對象瀏覽器,你可以看到,如果你安裝每一個變化是有或沒有。 (或者,如果你可以有一個語法錯誤)

enter image description here

4

爲了使其按預期工作我會做到以下幾點:

1)從分機複製三個文件夾/新聞/資源/個人/模板,局部模板,佈局到fileadmin /模板/例子/新聞 (我相信你已經這樣做了)

2)然後把這個到您的模板提供商或頁的TypoScript常量

plugin.tx_news { 
    view { 
     templateRootPath = fileadmin/templates/example/news/Templates/ 
     partialRootPath = fileadmin/templates/example/news/Partials/ 
     layoutRootPath = fileadmin/templates/example/news/Layouts/ 
    } 
} 

現在的消息擴展將使用放置在fileadmin模板文件/

下一步將是在情況下添加一些pageTSConfig內根的網頁屬性,你需要更多的靈活性。例如像這樣:

tx_news.templateLayouts { 
    1 = Special List Item 
    2 = Special Detail Layout 
} 

這允許您選擇在您的新聞插件模板,這些佈局之一,並在模板文件中使用條件:

<f:if condition="{settings.templateLayout} == 1"> 
    <f:then> 
     <!-- markup for a special list item --> 
    </f:then> 
    <f:else> 
     <!-- markup for another list item --> 
    </f:else> 
</f:if> 
+1

您不應該使用已棄用的'templateRootPath'等,而是使用複數版本'templateRootPaths'。 – Jost

+0

如果你的意思是[僞造條目](https://forge.typo3.org/issues/66306),我不知道。然而,在我的情況下,它適用於6.2.25以及7.6.9的安裝。 –

+2

實際上,在常量中,您可以使用單數,因爲它是常量,並且在設置中應使用複數形式,因爲這是處理具有後備的多個模板的邏輯。 –