后端布局和拼写不适用于TYPO3中的Basic2column

时间:2019-05-07 14:29:30

标签: typo3 typo3-9.x

我创建了一个名为“ doubleColumn”的后端布局。现在在后端管理面板中,我左右两列。我在左列和右列中添加了一些虚拟内容。但是,当我为doublecolumn模板写错字时。然后在前端向我显示了一个错误。如何解决此错误?

这是我得到的错误

  

糟糕,发生错误!尝试解析以下模板文件   控制器动作“标准->索引”,格式为“ .html”,但均不包含   路径包含预期的模板文件()。没有路径   配置。

有关此错误的更多信息可能在线提供。

Basic2ColumnPage.html

<div class="left-column">
    <f:format.raw>{Leftcontent}</f:format.raw>
</div>
<div class="right-column">
    <f:format.raw>{Rightcontent}</f:format.raw>
</div>

DoubleColumn是页面名称,我已经在DoubleColumn模板中添加了该排印字

page = PAGE
page {
  10 = FLUIDTEMPLATE
  10 {
    file.stdWrap.cObject = CASE
    file.stdWrap.cObject {
      key.data = levelfield:-1, backend_layout_next_level, slide
      key.override.field = backend_layout
      1 = Text
      1.value = fileadmin/templates/demo/Resources/Private/Layouts/Basic2ColumnPage.html
    }
    variables {        
      Leftcontent >StyleSheet.content.get
      Leftcontent.select.where = colPos=0          
      Rightcontent < styles.content.get
      Rightcontent.select.where = colpos=1
    }
  }
}

这是我的后端布局(TS-config)

mod.web_layout.BackendLayouts {
  exampleKey {
    title = Example
    icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif
    config {
      backend_layout {
        colCount = 2
        rowCount = 1
        rows {
          1 {
            columns {
              1 {
                name = Left content
                colPos = 0
              }
              2 {
                name = Right content
                colPos = 1
              }
            }
          }
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

不要做得太复杂。属性file是可能的,但不是很灵活。并且错过了新版(backend_)布局的配置。
在TSconfig中定义的布局以pagets__为前缀(两个下划线!)。

一种干净的配置方式是:

  1. 使用路径:
    10 {
        templateRootPaths.1 = EXT:site_ext/Resources/Private/Templates
        partialRootPaths.1 = EXT:site_ext/Resources/Private/Partials
        layoutRootPaths.1 = EXT:site_ext/Resources/Private/Layouts    
        :
  1. 仅指定模板的名称(不需要文件扩展名):
        :
        templateName = TEXT
        templateName.cObject = CASE
        templateName.cObject {
            key.data = levelfield:-1, backend_layout_next_level, slide
            key.override.field = backend_layout

            #Default Template
            default = TEXT
            default.value = Default

            1 = TEXT
            1.value = Basic2ColumnPage

            pagets__Example = TEXT
            pagets__Example.value = Example
       }
       :

您可以立即在字段中使用该值,但是随后您的模板需要具有特殊名称,或者您必须去除前缀。并确保没有匹配的模板时会发生什么情况。