在我正在研究的插件的Fluid模板中,有些东西是硬编码的.例如:
<f:else>
<li>
<v:page.link pageUid="114" />
</li>
</f:else>
Run Code Online (Sandbox Code Playgroud)
由于pageUid值在测试和生产服务器上不相同,我想让它更具动态性.
我想以某种方式将其存储在变量中,然后在流体模板中使用该变量.
我只是不知道热卖这个和TYPO3的地方.
提前致谢!
因为它是一个设置,它是这样的:
常量:
plugin.myext.settings.detailPid = 123
Run Code Online (Sandbox Code Playgroud)
建立:
plugin.myext.settings.detailPid = {$plugin.myext.settings.detailPid}
Run Code Online (Sandbox Code Playgroud)
变量用于可变内容.如果使用TEXT或类似的变量使用相同的PID,则过度使用并且设置是正确的方法.
此外,变量只能用于FLUID_TEMPLATE内容元素,而不能用于插件!
此外,在您的extbase控制器中,您可以通过简单访问来访问这些设置,$this->settings['detailPid']而无需先呈现cObject.
在流体中,您可以访问设置{settings.detailPid}.
在您的内容对象 FLUIDTEMPLATE 的排版模板中:
打字稿设置/配置:
10 = FLUIDTEMPLATE
10 {
variables {
pageUid = TEXT
pageUid.value = 114
}
}
Run Code Online (Sandbox Code Playgroud)
或使用常量
排版常量:
pageUid = 114
Run Code Online (Sandbox Code Playgroud)
打字稿设置/配置:
10 = FLUIDTEMPLATE
10 {
variables {
pageUid = TEXT
pageUid.value = {$pageUid}
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以pageUid在你的 Fluid HTML 中获取
<f:else>
<li>
<v:page.link pageUid="{pageUid}" />
</li>
</f:else>
Run Code Online (Sandbox Code Playgroud)
要在 Fluid partial 中使用变量,请确保传递这些变量,例如通过提供_all:
<f:render partial="fluid_part_header" arguments="{_all}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3647 次 |
| 最近记录: |