Typo3使用常数"常数"字段

时间:2016-09-05 09:35:29

标签: typo3 typoscript

我想形成文件路径。 在"常数"字段:

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/

我将我的扩展名包含在typoscript模板中。在我的扩展程序设置中,我包含这样的插件设置:

<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 */
}

3 个答案:

答案 0 :(得分:8)

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

<强>常量:

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进行测试

答案 1 :(得分:2)

看看TYPO3 NG / ML /论坛:

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

你可以在常量定义中重用常量,但最多只能重复10级。

你可以在条件中使用常量,但只能在setup-part

中使用

答案 2 :(得分:0)

简短:否

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

你能做的是:

常数

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

SETUP:

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