如何在常量中使用Sitename作为TYPO3中的默认值?
我希望在默认情况下以常量设置Sitename,以便在Fluidtemplate中使用此settings.variable 我在stackoverflow上发现: DB:sys|U模板| 1 |标题 全局:TYPO3_CONF|u VARS | SYS | sitename 但是如果我在常量中使用它,那么如下所示:如何在常量中使用Sitename作为TYPO3中的默认值?,typo3,constants,typoscript,Typo3,Constants,Typoscript,我希望在默认情况下以常量设置Sitename,以便在Fluidtemplate中使用此settings.variable 我在stackoverflow上发现: DB:sys|U模板| 1 |标题 全局:TYPO3_CONF|u VARS | SYS | sitename 但是如果我在常量中使用它,那么如下所示: # cat=plugin.tx_rmnavigation/01_NaviSettings/a; type=string; label=testing sitetitle testsit
# cat=plugin.tx_rmnavigation/01_NaviSettings/a; type=string; label=testing sitetitle
testsitetitle = DB:sys_template|1|title
或
在my setup.ts中:
testsitetitle = {$plugin.tx_rmnavigation.settings.testsitetitle}
我只得到文本,而不是变量的值。请看这张图片
如何将常数中的Sitename用作默认值
编辑
我忘了说,也许这对这个问题很重要,我在这两个文件中都尝试过:
plugin.tx_rmnavigation {
settings {
..
}
}
您必须将常量指定给内容对象的数据属性,请参见并解析:
testsitetitle = TEXT
testsitetitle.data = {$plugin.tx_rmnavigation.settings.testsitetitle}
我更喜欢常数定义的第二个变量,因为它使用当前模板记录中的值:
# cat=plugin.tx_rmnavigation/01_NaviSettings/a; type=string; label=testing sitetitle
testsitetitle = GLOBAL:TYPO3_CONF_VARS|SYS|sitename
但是,如果使用冒号而不是管道,第一种方法也应该有效:
testsitetitle = DB:sys_template:1:title
谢谢你的建议。我用你的信息找到了一个解决方案 老实说,我认为这在常量中不起作用,因为这两种方法都是只读的 因此,我找到了一个有效的解决方案:我只需要在模板中读取该变量,因此我创建了一个新的打字脚本文件libs.ts,并将其包含在以下文件中:
# Include Libraries
<INCLUDE_TYPOSCRIPT: source="FILE: EXT:rm_navigation/Resources/Private/TypoScript/libs.ts">
或
数据库语法
两者都有效。我读到您使用冒号语法来使用DB,使用管道语法来使用全局变量
要获得此流体,请使用此代码:
<f:cObject typoscriptObjectPath="lib.sitename" />
我希望它能帮助其他也有这个问题的人。如果您有一个多域页面,那么对DB:sys\u template:1:sitetitle的查询可能不起作用,因为1是UID,而不是模板根节点的PID。但是TSFE需要救援 在页面调用的上下文中,TSFE已经从后端模板加载了sitetitle 例如,如果要输出og:site_名称,可以使用以下命令访问该值:
og:site_name = TEXT
og:site_name {
data = TSFE:tmpl|sitetitle
attribute = property
}
这样,就不需要额外的数据库查询,它可以在多域、多根节点页面上工作。据我从文档中看到,gettext DB使用冒号而不是管道-请参阅@RiccardoDeContardi您是对的,它将附加正确的常量这是迄今为止最干净的解决方案。
lib.sitename = TEXT
lib.sitename.data = DB:sys_template:1:sitetitle
<f:cObject typoscriptObjectPath="lib.sitename" />
og:site_name = TEXT
og:site_name {
data = TSFE:tmpl|sitetitle
attribute = property
}