Как динамически загружать файлы с 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

Надеюсь, это поможет вам!

Другие вопросы по тегам