如何将html模板集成到typo3

问题描述 投票:0回答:1

我是typo3的新手,我想将HTML模板集成到其中。但是我无法将我的内容添加到投放仪表板的页面上,我得到的只是一个空白页面。

我正在使用TYPO3 v8

问候!

typo3 typoscript
1个回答
0
投票

在TYPO3 8中进行模板集成所需的步骤

Typo脚本

告诉TYPO3应该获取模板的位置。

page = PAGE
page.10 {
    templateRootPaths {
       10 = PATH TO YOUR TEMPLATES
    }
    layoutRootPaths {
       10 = PATH TO YOUR LAYOUTS
    }
    partialRootPaths {
       10 = PATH TO YOUR PARTIALS
    }
    templateName = TEXT
    templateName.stdWrap {
        cObject = TEXT
        cObject {
            data = levelfield:-2,backend_layout_next_level,slide
            override.field = backend_layout
            split {
                token = pagets__
                1.current = 1
                1.wrap = |
            }
        }
        ifEmpty = Home
     }
}

LAYOUTS

它不需要创建布局,但我建议这样做,如果你只有一种类型的模板。

可以在TYPO3后端创建布局(在TYPO3中称为后端布局),后端布局保存在数据库中。但您可以将后端布局配置保存在文件中。

提示:尝试在文件中保存后端布局配置,以便添加到git

后端布局配置示例:

mod.web_layout.BackendLayouts {
    Home # identified by this name { 
        title = Home # this is shown in backend when you select the layout
        icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif
        config {
            backend_layout {
                colCount = 1
                rowCount = 1
                rows {
                    1 {
                        columns {
                            1 {
                                name = Content
                                colPos = 1 # this is important, i'm talking about colPos below
                            }
                        }
                    }
                }
            }
        }
    }
}

ColPos意思是:布局中可以有多个列,而colPos用于在前端渲染内容。这将在后面的模板<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: 1}" />中使用

上述配置应包含在PageTs中。如果您编辑页面并转到“资源”选项卡,则会找到此选项。

lib.dynamicContent的typoscript配置

lib.dynamicContent = COA
lib.dynamicContent {
    5 = LOAD_REGISTER
    5 {
        colPos.cObject = TEXT
        colPos.cObject {
            field = colPos
            ifEmpty.cObject = TEXT
            ifEmpty.cObject {
                value.current = 1
                ifEmpty = 0
            }
        }
        pageUid.cObject = TEXT
        pageUid.cObject {
            field = pageUid
            ifEmpty.data = TSFE:id
        }
        contentFromPid.cObject = TEXT
        contentFromPid.cObject {
            data = DB:pages:{register:pageUid}:content_from_pid
            data.insertData = 1
        }
        wrap.cObject = TEXT
        wrap.cObject {
            field = wrap
        }
        maxItems.cObject = TEXT
        maxItems.cObject {
            field = maxItems
            ifEmpty =
        }
    }
    20 = CONTENT
    20 {
        table = tt_content
        select {
            includeRecordsWithoutDefaultTranslation = 1
            orderBy = sorting
            where = {#colPos}={register:colPos}
            where.insertData = 1
            pidInList.data = register:pageUid
            pidInList.override.data = register:contentFromPid
            max.data = register:maxItems
            // select.languageField setting is needed if you use this typoscript in TYPO3 < v7
            // languageField = sys_language_uid
        }
        stdWrap {
            dataWrap = {register:wrap}
            required = 1
        }
    }
    90 = RESTORE_REGISTER
}
lib.dynamicContentSlide < lib.dynamicContent
lib.dynamicContentSlide.20.slide = -1

lib.dynamicContentFirst < lib.dynamicContent
lib.dynamicContentFirst.20.select.max = 1

家庭布局html集成

<f:render section="main" />

家庭模板集成

<f:layout name="Home" />
<f:section name="content">
  // content
  <f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: 1}" />
</f:section>

现在我们已经设置了布局和模板。希望你有一个TYPO3的基本设置(至少一个根页面和一个模板设置)

如果您尚未进行此设置,请执行以下步骤:

  1. 创建根页面
  2. 转到根页面上的列表
  3. 创建模板记录 - 进入选项选项卡并检查Clear -> ConstantsClear -> setup并检查Rootlevel
  4. 进入qazxsw poi标签,从多个选择框qazxsw poi中选择
  5. Includes粘贴到创建的模板中(选中“常规”选项卡)

编辑根页面并转到“外观”选项卡以选择“后端布局”。

© www.soinside.com 2019 - 2024. All rights reserved.