Typoscript:覆盖扩展名的Typoscript

时间:2017-03-22 15:11:45

标签: typo3 typoscript typo3-7.6.x

我尝试覆盖扩展名tx_seobasics的typoscript。在tx_seobasics setup.txt中我有:

plugin.tx_seobasics {
    # Building the page title
    10 = TEXT
    10.data = page:tx_seo_titletag // page:title
    10.trim = 1
    10.stdWrap.stdWrap.append = TEXT
    10.stdWrap.stdWrap.append.data = TSFE:tmpl|sitetitle
    10.stdWrap.stdWrap.append.trim = 1
    10.stdWrap.stdWrap.append.required = 1
    10.stdWrap.stdWrap.append.if.isTrue = {$plugin.tx_seo.titleWrapAppendSiteTitle}
    10.stdWrap.stdWrap.append.noTrimWrap = | - ||
    10.stdWrap.noTrimWrap = {$plugin.tx_seo.titleWrap}
    10.stdWrap.insertData = 1
    10.htmlSpecialChars = 1
    10.wrap = <title>|</title>
    10.append < .5

    20 < .10
    20.wrap = <meta name="title" content="|" />
}

现在的想法是我可以为每种语言设置10.stdWrap.stdWrap.append.data个人的值。

所以我的第一步/测试是在我自己的模板的setup.txt中添加以下typoscript:

plugin.tx_seobasics.10.stdWrap.stdWrap.append.data = page:title

这可以,而不是模板中定义的sitetitle,我将pagetitle作为sitetitle。

现在我有两个问题:

已解决第一个问题:使用.data

覆盖.value

我想要在typoscript中直接添加值,而不是字段,我的想法是:

plugin.tx_seobasics.10.stdWrap.stdWrap.append.value = My own text

plugin.tx_seobasics.10.stdWrap.stdWrap.append = TEXT
plugin.tx_seobasics.10.stdWrap.stdWrap.append.value = My own text

两个选项都不会覆盖任何内容,但它仍然需要.data = TSFE:tmpl|sitetitle

那么如何用.data覆盖.value

第二个问题:分别设置每种语言的值。

我的typoscript setup.txt看起来像这样:

[globalVar = GP:L = 1]
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:my_template/Configuration/TypoScript/setup-ch.txt">
[global]

[globalVar = GP:L = 2]
 <INCLUDE_TYPOSCRIPT: source="FILE:EXT:my_template/Configuration/TypoScript/setup-en.txt">
[global]

编辑:我的语言文件出错:我在同一行关闭了2个括号} }。没想过,但是typoscript似乎不喜欢这样。

1 个答案:

答案 0 :(得分:2)

我目前不知道语言条件问题,但是为了覆盖.data,你应该首先尝试清空数据:

plugin.tx_seobasics.10.stdWrap.stdWrap.append.data >
plugin.tx_seobasics.10.stdWrap.stdWrap.append.value = My own text