Как динамически загружать файлы с TypoScript
Я хочу загрузить для каждой страницы свой критический файл CSS.
Поэтому я сохранил их так:
fileadmin/crit1.css для TSFE:id=1
fileadmin/crit2.css для TSFE:id=2
и так далее. Поскольку существует много страниц, я хочу, чтобы 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 ответ
Решение
Вам просто нужно добавить 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
В качестве альтернативы вы можете достичь этого с помощью 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
Надеюсь, это поможет вам!