我有一个分配给各种页面ID的常量列表(例如myConstant = 22)。现在我想替换以下链接
<f:link.page pageUid="22" >Link</f:link.page>
类似
<f:link.page pageUid="{myConstant}" >Link</f:link.page>
我无法找到正确的语法。有什么帮助吗?
答案 0 :(得分:3)
我认为您无法直接访问常量,但您可以使用ts-setup中的常量。
在ts-setup中使用plugin.tx_myplugin.settings.myPid = {$myConstant}
,您可以使用{settings.myPid}
如果你没有使用插件而是使用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>
答案 1 :(得分:2)
如果您使用的是FLUIDTEMPLATE typoscript-Object,则可以在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>
在任何情况下,您都可以将该值分配给某些TypoScript对象,并使用f:cObject
ViewHelper或扩展程序v:var.typoscript
中的vhs
ViewHelper在模板中读取该值。< / p>
答案 2 :(得分:0)
我在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={..}
}