问题描述
我正在尝试根据页面添加一些外部资源(CSS / JS),以更好地利用资源。 这是我的实际情况:
page = PAGE
page.10 = FLUIDTEMPLATE
page {
typeNum = 0
//### GLOBAL CONfig
config {
//some global config
}
//### CSS INCLUSION
includeCSS {
fontAwesome = fileadmin/assets/lib/fontawesome-5.14.0/css/all.css
bootstrapCSS = fileadmin/assets/lib/bootstrap-4.5.2-dist/css/bootstrap.min.css
mainCSS = fileadmin/assets/css/main.css
}
//### HEADER JS INCLUSION
includeJS {
jquery = fileadmin/assets/lib/jquery-3.5.1.min.js
}
//### FOOTER JS INCLUSION
includeJSFooter {
bootstrapJS = fileadmin/assets/lib/bootstrap-4.5.2-dist/js/bootstrap.min.js
siteMain = fileadmin/assets/js/main.js
}
//### TEMPLATING
10 = FLUIDTEMPLATE
10 {
templateName = LayoutTemplate
templateRootPaths.1 = fileadmin/Templates
layoutRootPath = fileadmin/Templates/Layouts
variables{
contentnormal < styles.content.get
contentRight < styles.content.get
contentRight.select.where = colPos = 2
}
}
}
我尝试了这两种解决方案:
//### CSS INCLUSION
includeCSS {
fontAwesome = fileadmin/assets/lib/fontawesome-5.14.0/css/all.css
bootstrapCSS = fileadmin/assets/lib/bootstrap-4.5.2-dist/css/bootstrap.min.css
mainCSS = fileadmin/assets/css/main.css
//###ADDED FOR NEW INCLUSION###
[page ["uid"] == 1]
additionalCSS = fileadmin/assets/css/additional.css
[END]
//#############################
}
1。)
[page ["uid"] == 1]
page.10.includeCSS.additionalCSS = fileadmin/assets/css/additional.css
......
[END]
2。)
[page ["uid"] == 1]
page.10.includeCSS{
additionalCSS = fileadmin/assets/css/additional.css
.......
}
[END]
他们中的任何人都没有工作,我也不知道为什么。
有什么建议吗?
解决方法
第一个不起作用,因为TypoScript中的条件仅在最高级别上起作用。
所以你不能做
page.includeCSS {
main = ...
[page["uid"] == 1]
additional = ...
[end]
}
您必须这样做:
page.includeCSS {
main = ...
}
[page["uid"] == 1]
page.includeCSS.additional = ...
[end]
在第二个示例中,当您应该使用page.10.includeCSS
(不带page.includeCSS
)时,您正在使用10
。
我也不确定条件是否适用于page
和["uid"]
之间的空格。如果不起作用,请将其更改为[page["uid"] == 1]
。
打字条件昂贵,页面ID可能会更改:
请查看EXT:news IncludeFileViewhelper,以获得更明智的方法-如果正在运行TYPO3 10,则可以使用资产收集器:https://usetypo3.com/asset-collector.html