【问题标题】:Fluid Template doesn't load流体模板未加载
【发布时间】:2014-11-06 13:32:33
【问题描述】:

我正在使用流体模板构建网站。我创建了两个不同的前端布局和两个不同的后端布局,但我总是收到此错误 #1288085266:未指定模板。使用 setTemplateSource() 或 setTemplatePathAndFilename()。根据 Typo3 Wiki,这应该是一个解决方案 Exception/CMS/1288085266

但在我的情况下不是。这是我的代码:

config.doctype = html5

page = PAGE
page {
	includeCSSLibs.bootstrap = https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css
	includeCSS.style = fileadmin/templates/rka2015/css/style.css
	
	includeJSlibs.jquery = https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
	includeJSlibs.bootstrap = https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js
	includeJS.custom = fileadmin/templates/rka2015/js/custom.js
}
	
page.10 = FLUIDTEMPLATE
page.10 {
		
		file = fileadmin/templates/rka2015/layouts/main_layout.html
		layoutRootPath = fileadmin/templates/rka2015/layouts/
		patialRootPath = fileadmin/templates/rka2015/partials/
		
		variables {
			siteName = TEXT
			siteName.value = rka2015
			
			contentMain < styles.content.get
			contentMain.select.where = colPos = 0
			
			content_column_1 < styles.content.get
			content_column_1.select.where = colPos = 1
			
			content_column_2 < styles.content.get
			content_column_2.select.where = colPos = 2
	}		
}


page.10.file.stdWrap.cObject = CASE
page.10.file.stdWrap.cObject 
	{
    key.data = levelfield:-1, backend_layout_next_level, slide
    key.override.field = backend_layout
    
    default = TEXT
    default.value = fileadmin/templates/rka2015/main_1_column.html
    1 = TEXT
    1.value = fileadmin/templates/rka2015/main_1_column.html
    2 = TEXT
    2.value = fileadmin/templates/rka2015/main_2_column.html
}

我已经全部检查过了;部分名称没问题,后端布局的 ID 没问题,模板已定义,一切似乎都应如此。我真的不知道在哪里可以搜索。

更新!!!

好像文件路径有问题。我在子域上运行我的网站,如果 ts 仅定义为 fileadmin/... 任何想法,似​​乎 ts 找不到文件路径?谢谢

解决方案

page {
	includeCSSLibs.bootstrap = https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css
	includeCSS.style = fileadmin/templates/rka2015/css/style.css
	
	includeJSlibs.jquery = https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
	includeJSlibs.jquery.external = 1
	includeJSlibs.bootstrap = https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js
	includeJS.custom = fileadmin/templates/rka2015/js/custom.js
}

page.10 = FLUIDTEMPLATE
page.10 {
    template = CASE
    template {
      key.data = levelfield:-1,backend_layout_next_level,slide
      key.override.field = backend_layout

      1 = FILE
      1.file = fileadmin/templates/rka2015/main_1_column.html

      2 = FILE
      2.file = fileadmin/templates/rka2015/main_2_column.html
    }
    partialRootPath = fileadmin/templates/rka2015/partials/
    layoutRootPath = fileadmin/templates/rka2015/layouts/
    variables {
	
			siteName = TEXT
			siteName.value = rka2015
			
			contentMain < styles.content.get
			contentMain.select.where = colPos = 0
			
			content_column_1 < styles.content.get
			content_column_1.select.where = colPos = 1
			
			content_column_2 < styles.content.get
			content_column_2.select.where = colPos = 2
  }
}

【问题讨论】:

  • file = fileadmin/templates/rka2015/layouts/main_layout.html 正确吗?是不是 file = fileadmin/templates/rka2015/main_layout.htmlfile = fileadmin/templates/rka2015/templates/main_layout.html 或其他正确的?
  • 您好约斯特,谢谢。路径是正确的,我已经检查过了。

标签: typo3 typo3-6.2.x


【解决方案1】:

首先,检查 TYPO3 是否可以通过将其附加到模板末尾来覆盖页面对象来读取文件:

page.10 >
page.10 = FILE
page.10.file = fileadmin/templates/rka2015/layouts/main_layout.html

如果生成的页面没有包含模板文件的原始、未解释的输出,则说明文件路径或文件权限有问题。

其次,在 Fluid 中,模板和布局是不同的东西,用途不同,最好不要放在同一个目录下。

最重要的是,您尝试使用 page.10.file.stdWrap.cObject 中的 CASE 构建的后端布局开关有问题。你看,stdWrap 对象实际上环绕了你已经设置的文本。如果 stdWrap 找不到管道来确定如何包装,它只是追加。删除您在顶部设置文件的行,只留下 stdWrap 案例,您应该一切顺利。

【讨论】:

  • 嗨,谢谢。第一部分没问题,它生成了一个带有原始页面的页面,但是使用 CASE 它不起作用。我已经删除了 file=... 并且只留下了 CASE 部分,我得到了同样的错误。根据 Typo3 Wiki,必须有文件定义,否则它将无法运行。
  • 完成。我已经稍微改写了代码,现在可以了。仍然不知道问题出在哪里,但似乎是在 TS 中。新代码在更新 2 的顶部。
  • 抱歉解决了。谢谢
  • 正如我所说,在上面的代码中,您在 .file 和 .stdWrap 中设置了完整的文件名。 TYPO 获取 stdWrap 并将其附加到文件名,导致 fileadmin/templates/rka2015/layouts/main_layout.htmlfileadmin/templates/rka2015/main_1_column.html 它不是它可以找到的文件。
  • 没错,但在我的第一个代码中也没有工作,这就是我一起重写的原因。感谢您的帮助!
【解决方案2】:

乍一看,它看起来是对的……但请检查您的文件路径,也许它们是错误的,正如“Jost”所评论的那样。

我不确定,但我认为问题在于模板路径(文件 = ...)与布局根路径相同...

顺便说一句...如果您包含外部样式和 javascript,我认为您需要设置如下内容...

includeJSlibs.jquery = https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
includeJSlibs.jquery.external = 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    相关资源
    最近更新 更多