我是typo3的新手,我想将HTML模板集成到其中。但是我无法将我的内容添加到投放仪表板的页面上,我得到的只是一个空白页面。
我正在使用TYPO3 v8
问候!
在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的基本设置(至少一个根页面和一个模板设置)
如果您尚未进行此设置,请执行以下步骤:
Clear -> Constants
和Clear -> setup
并检查Rootlevel
Includes
粘贴到创建的模板中(选中“常规”选项卡)编辑根页面并转到“外观”选项卡以选择“后端布局”。