如何使用TypoScript动态加载文件

时间:2018-02-19 01:20:25

标签: dynamic typo3 typoscript critical-css

我想为每个页面加载关键的CSS文件。

所以我这样保存了他们:

TSFE:id=1

的fileadmin / critical1.css

TSFE:id=2

的fileadmin / critical2.css

等等。由于有很多页面我希望TS完全是动态的,不是这样的:

[globalVar = TSFE:id=1]
page {
  cssInline {
    10 = FILE
    10.file = fileadmin/critical1.css
  }
}
[global]

我想这样:

page {
  cssInline {
    10 = FILE
    10.file= fileadmin/critical{page:uid}.css
  }
}

或者

page {
  cssInline {
    10 = FILE
    10.file= fileadmin/critical$GLOBALS['TSFE']->id.css
  }
}

但它不是这样的。有谁知道怎么做?

1 个答案:

答案 0 :(得分:4)

您只需添加insertData = 1

检查此代码:

page {
  cssInline {
    10 = FILE
    10.file= fileadmin/critical{page:uid}.css
    10.file.insertData = 1 
  }
}

参考: https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap.html?highlight=insertdata#insertdata

或者,您可以使用headerData来实现它。

检查此代码:

page {
  headerData {
    10 = TEXT
    10.value = {page:uid}
    10.insertData = 1 
    10.wrap = <link rel="stylesheet" type="text/css" href="fileadmin/critical|.css" media="all" />
  }
}

参考:https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Page/Index.html#headerdata

希望这能帮到你!