2017-02-23 55 views
1

我將我的TYPO3從7.6升級到8.6。 現在我不能通過style.content.get設置變量,我的根模板會加載fluid_styled_content。 一些來源:TYPO3流體變量

page.10 = FLUIDTEMPLATE 
page.10 { 
    partialRootPath ={$resDir}/Private/Partials 
    layoutRootPath = {$resDir}/Private/Layouts 

    variables { 
     contentMain < styles.content.get 
     contentMain.select.where = colPos = 0 
     contentnew < styles.content.get 
     contentnew.select.where = colPos = 1 
     contentkat < styles.content.get 
     contentkat.select.where = colPos = 2 

     test = TEXT 
     test.value = loool 
    } 
} 

顯示變量:

<f:format.raw> {contentMain} </f:format.raw> 
<f:format.raw> {contentnew} </f:format.raw> 
<f:format.raw> {contentkat} </f:format.raw> 
<f:format.raw> {test} </f:format.raw> 

回答

2

styles.content.get在內線定義:fluid_styled_content但很晚所以大多數副本都是空的。參考文獻不是解決方案,因爲colPos的修改將適用於所有參考。

目前最好的解決辦法似乎是styles.content.get早在TS一個自己的定義:

styles.content.get = CONTENT 
styles.content.get { 
    table = tt_content 
    select { 
     orderBy = sorting 
     where = colPos=0 
    } 
} 

,但因爲它是一個自己定義我會把它重新命名爲temp.content.get所以它是標識爲我自己的版本(無混亂,如果全球定義更改)

0

解決 感謝貝恩德!解決了這個問題。 下面一個完整的例子:

mystyles.content.get = CONTENT 
mystyles.content.get { 
    table = tt_content 
    select { 
     orderBy = sorting 
     where = colPos=0 
    } 
} 


page.10 = FLUIDTEMPLATE 
page.10 { 
    partialRootPath ={$resDir}/Private/Partials 
    layoutRootPath = {$resDir}/Private/Layouts 

    variables { 
     contentMain < mystyles.content.get 
     contentMain.select.where = colPos = 0 
     contentnew < mystyles.content.get 
     contentnew.select.where = colPos = 1 
     contentkat < mystyles.content.get 
     contentkat.select.where = colPos = 2 

     test = TEXT 
     test.value = loool 
    } 
} 
+0

如果有人幫助你解答,請他將評論置於答案中,並接受和/或贊成,建議刪除你自己的答案,在我的解決方案中你的決定 – Gang

+1

我建議使用'temp.content。 get',因爲所有以'temp.'開始的TS對象在執行渲染之前被移除,導致更小的配置數組。特別是對於複製的原型,在渲染時不需要知道。 –

1

有一個在TYPO3 8.6的一個Bug:https://forge.typo3.org/issues/80044

添加此分配styles.content.getvariables前: <INCLUDE_TYPOSCRIPT: source="FILE:EXT:frontend/ext_typoscript_setup.txt"> 然後你就可以像以前一樣使用它。