TYPO3 包括 CSS/JS 取决于页面 UID
TYPO3 includes CSS/JS depending on page UID
我正在尝试根据页面添加一些外部资源(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
}
}
}
我尝试了这 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"]
之间的 space。如果不行就改成[page["uid"] == 1]
.
错字条件很昂贵,页面 ID 可以更改:
看看 EXT:news IncludeFileViewhelper 以获得更明智的方法 - 或者资产收集器,如果你是 运行 TYPO3 10:https://usetypo3.com/asset-collector.html
我正在尝试根据页面添加一些外部资源(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
}
}
}
我尝试了这 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"]
之间的 space。如果不行就改成[page["uid"] == 1]
.
错字条件很昂贵,页面 ID 可以更改:
看看 EXT:news IncludeFileViewhelper 以获得更明智的方法 - 或者资产收集器,如果你是 运行 TYPO3 10:https://usetypo3.com/asset-collector.html