templates - 如何在流体模板中使用常量?
问题描述
我正在使用 Typo3 版本 10+ 我创建了一个“站点包扩展”来制作一些不错的模板和样式(页眉/页脚/等)
我正在使用这样的常量(constants.typoscript):
#cat=My website variables//a; type=string; label=Some id value
config.some_id = 123
BE 用户可以在 BE 中编辑常数。要在流体模板中使用常量,我使用这个打字稿代码(setup.typoscript)
page = PAGE
page {
typeNum = 0
10 = FLUIDTEMPLATE
10 {
variables {
some_id = TEXT
some_id.value = {$config.some_id}
}
}
...
}
在流体(footer.html)中,我使用这个变量:
<f:link.page pageUid="{some_id}">Some link</f:link.page>
到目前为止,一切都很好。
现在我正在创建一个新的扩展来输出一些简单的事件“Events ext”(列表/详细信息)
现在问题:是否可以在事件扩展(List.html)中使用这个常量(来自站点包ext的some_id)作为全局变量?
出于某种原因,我在“Event ext”的流体模板中看不到任何常量。(空值)
对于这两个扩展,我使用了下面的代码并将其配置包含在 Typoscript 设置中
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
$extensionKey,
'Configuration/TypoScript',
'My ext'
);
解决方案
通过 page.10.variable 定义的常量仅适用于页面模板,不适用于您的扩展模板。
但是您可以使用一些 TypoScript 在您的扩展程序中轻松访问此变量。
添加此 TS - 在您的 my_ext/TypoScript/setup.typoscript 或通过模板设置字段中的 BE:
plugin.tx_you_ext.settings {
some_id = {$config.some_id}
}
然后,您可以使用以下命令访问流体模板中的数据:
{settings.some_id}
推荐阅读
- python - 找不到页面 404 没有博客与给定的查询匹配
- python - Python,创建时复制文件
- python - How to multiply dictionary keys?
- assembly - 如何输入“同时输入 2 个键”
- javascript - Need help on viewing Chart values
- css - How i can change svg icon color?
- spring-boot - Spring Security 中基于角色的访问
- unix - 一个进程如何修改另一个进程的 sigmask?
- android - SQLiteException:没有这样的列:名字(代码 1):
- java - 如何理解 DIP 和单例的冲突?