Typo3 在 "Constant" 字段中使用常量

Typo3 using constants in "Constant" field

我想形成文件路径。 在 "Constant" 字段中:

const.siteName = site
templates = fileadmin/templates/{$const.siteName}/

当我在 typoscript 对象浏览器中查看时:

[siteName] = site    
[templates] = fileadmin/templates/{$const.siteName}/

是否可以实现:

[templates] = fileadmin/templates/site/

使用 const.siteName?

如果是,怎么样?

============================================= ============================

编辑:

接下来我要做的是:

在我的扩展配置中

const.siteName = foo
const.templates = fileadmin/templates/($const.siteName)/
const.path.extensions = ($const.templates)/ext/

我在打字模板中加入了我的扩展。在我的扩展设置中,我包括这样的插件设置:

<INCLUDE_TYPOSCRIPT: source="FILE:EXT:foo/Configuration/TypoScript/Plugin/formhandler.ts">

在Configuration/TypoScript/Plugin/formhandler.ts:

plugin.Tx_Formhandler {
    /* snip */
    settings.predef.member {
        templateFile.value = {$const.path.extensions}formhandler/member/step-1.html // doesn't work
        //templateFile.value = fileadmin/templates/foo/ext/formhandler/member/step-1.html // works
    }
    /* snip */
}

短:没有

long:您只能在设置中使用常量。

您可以做的是:

常量

const.siteName = site
const.templatePath = fileadmin/templates

设置:

myTemplate= {$const.templatePath}/{$const.siteName}

对我来说,这个例子很完美:

常数:

const.test = foo
const.test2 = {$const.test}/bar

设置:

page = PAGE

page.10 = TEXT
page.10.value = {$const.test}
page.10.wrap = <p>|</p>

page.20 = TEXT
page.20.value = {$const.test2}
page.20.wrap = <p>|</p>

在浏览器中输出:

foo

foo/bar

使用 TYPO3 4.5 和 8.3 测试

看看 TYPO3 NG/ML/Forum:

https://forum.typo3.org/index.php?t=msg&th=212721&goto=740111&#msg_740111 有很多关于如何在打字错误中使用常量的提示:

您可以在常量定义中重复使用常量,但最多只能深入 10 个级别。

您可以在条件中使用常量,但只能在设置部分使用