簡體   English   中英

Typo3:常量作為頁面UID

[英]Typo3: Constant as Page UID

我有分配給各種頁面ID的常量列表(例如,myConstant = 22)。 現在,我想替換以下鏈接

<f:link.page pageUid="22" >Link</f:link.page>

用類似的東西

<f:link.page pageUid="{myConstant}" >Link</f:link.page>

我還沒有找到合適的語法來做到這一點。 有什么幫助嗎?

我認為您不能直接訪問常量,但可以在ts-setup中使用常量。

使用plugin.tx_myplugin.settings.myPid = {$myConstant}在ts設置中,您可以使用{settings.myPid}訪問插件中的pid

如果您不是使用插件而是TS FluidTemplate,則可以按以下方式為其分配它們:

page = PAGE
page {
    10 = FLUIDTEMPLATE
    10 {
        file = fileadmin/templates/Home.html
        variables {
            pidList {
                myConstant = {$myConstant}
                myConstant2 = {$myConstant2}
            }
        }
    }
}

<f:link.page pageUid="{pidList.myConstant}" >Link</f:link.page>

如果使用的是FLUIDTEMPLATE拼寫對象,則可以在TypoScript中執行以下操作:

lib.output = FLUIDTEMPLATE
lib.output {
#   ...
    variables {
        myPageID = {$myConstant}
    }
#   ...
}

在流體模板中,您可以根據需要使用變量:

<f:link.page pageUid="{myPageID}" >Link</f:link.page>

如果模板是由控制器操作中的擴展呈現的,則可以將值分配給插件的設置: plugin.tx_<extkey>[_pi1].settings.myPageID = {$myConstant} 然后,您可以像這樣在流體模板中使用它:

<f:link.page pageUid="{settings.myPageID}">Link</f:link.page>

無論如何,您都可以使用擴展名vhsf:cObject ViewHelper或v:var.typoscript ViewHelper將該值分配給某個TypoScript對象,並在模板中讀取該值。

我在t3 7.6中嘗試過類似的操作,如果要在頁面流體模板的某處使用ts常量(在ts-constants字段中定義為oneConst),則必須執行以下操作:

page.10 = FLUIDTEMPLATE
page.10 {         
    variables{
        const_one=TEXT
        const_one.value={$oneConst}
        }
    }
}

沒有TEXT定義,您將無法獲得該值 在模板中訪問它:

{const_one} 

提示:我無法在數組中組織const。 喜歡

const{
   one=TEXT
   one.value={..}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM