TYPO3流体:如何使用多个模板?

如何解决TYPO3流体:如何使用多个模板?

在较早的TYPO3版本中,有一种简单的方法来拥有许多不同的模板,但是看来这在TYPO3 9.5中不再起作用。

10 = FLUIDTEMPLATE
10 {
    templateName = TEXT
    templateName.stdWrap.cObject = CASE
    templateName.stdWrap.cObject {
        data = pagelayout

        2 = TEXT
        2.value = 2Col2Row

        default = TEXT
        default.value = Default 
    }
    
    variables{          
        
        pageTitle = TEXT
        pageTitle.data = page:title
        siteTitle = TEXT
        siteTitle.data = TSFE:tmpl|setup|sitetitle
        rootPage = TEXT
        rootPage.data = leveluid:0
        logo = IMAGE
        logo {
            file = EXT:myExt/Resources/Public/Icons/mylogo_icon.png
            height = 73
            width = 60  
            params = class="navbar-brand-logo-normal" style="max-height: 100%;margin-right:15px;"
            alt = Home
            linktitle = 
        }           
    
        content < styles.content.get
        content.select.where = colPos = 0
        topright < styles.content.get
        topright.select.where = colPos = 5
        bottomleft < styles.content.get
        bottomleft.select.where = colPos = 6
        bottomright < styles.content.get
        bottomright.select.where = colPos = 7
    }
    
    dataProcessing {
        10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        10 { 
            levels = 2
            includeSpacer = 1
            as = mainnavigation             
            #special = directory
            #special.value = 1,193,201          
            special = list
            special.value = 90,194,200,195,201
        }
        20 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        20 {
            entryLevel = 1
            levels = 2
            expandAll = 0
            includeSpacer = 1
            as = subnavigation
        }
        30 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        30 {
            special = rootline
            special.range = 0|-1
            includeNotInMenu = 1
            as = breadcrumb
            if {
                value = {$page.theme.breadcrumb.enableLevel}
                value {
                    insertData = 1
                    prioriCalc = 1
                    stdWrap.wrap = |-1
                }
                isGreaterThan {
                    data = level
                }
            }
        }
        40 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        40 {
            levels = 2
            as = footer             
            special = list
            special.value = 196,197,198,199
        }
    }
    
    templateRootPaths {
        0 = EXT:myExt/Resources/Private/Templates/Page/
    }
    partialRootPaths {
        0 = EXT:myExt/Resources/Private/Partials/Page/
    }
    layoutRootPaths {
        0 = EXT:myExt/Resources/Private/Layouts/Page/
    }
}

includeCSS {
    file1 = EXT:myExt/Resources/Public/Css/bootstrap4-theme.min.css
    fule3 = EXT:myExt/Resources/Public/Css/ext/base.css
    file5 = fileadmin/Resource/services/fontawesome582/css/all.css
}

includeJS {
    jquery = EXT:myExt/Resources/Public/Scripts/jquery.min.js
    bootstrap = EXT:myExt/Resources/Public/Scripts/bootstrap.min.js
    bootstrap = EXT:myExt/Resources/Public/Scripts/bootstrap.navbar.min.js
}
}

该路径适用于它显示默认页面。我不知道,我错过了另一个模板。所有后端布局和模板文件都在其中。

解决方法

CASE对象需要属性key

只需尝试:

templateName.stdWrap.cObject = CASE
templateName.stdWrap.cObject {
    key.data = pagelayout
    :

编辑:

您应该检查key的值以确定正确的标签。 添加一个新的流体变量:

variables {
    pagelayout = TEXT
    pagelayout.data = pagelayout
    :

,然后将其输出到您的模板中,该模板每次都被选择

<f:debug title="pagelayout">{pagelayout}</f:debug>
,

https://github.com/benjaminkott/bootstrap_package/blob/master/Configuration/TypoScript/setup.typoscript#L92处查找不需要CASE的逻辑。 如果您使用的是后端数据库而不是PageTS中定义的布局,请删除split

,

啊,非常感谢您的回答和提示-我可以搜索正确的内容并找到解决方法。

key.data = pagelayout
            
pagets__standard = TEXT
pagets__standard.value = Default    

pagets__2_col_2_row = TEXT
pagets__2_col_2_row.value = 2Col2Row

default < .pagets__standard

我只需要给后端的名称加上前缀“ pagets__”就可以了,如果考虑一下的话,这似乎很简单。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-