You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3:自定义EXT:news插件内容元素的外层容器及Fluid模板

解决TYPO3 EXT:news插件内容元素外层容器及标题自定义问题

你提到的外层<div class="frame...">、头部标题这些内容,不是EXT:news插件的模板控制的,而是TYPO3核心的fluid_styled_content扩展负责渲染的内容元素框架。要完全自定义这部分,按以下步骤操作:

1. 自定义内容元素外层框架(frame)

  • 找到系统默认模板:EXT:fluid_styled_content/Resources/Private/Templates/ContentElement/Frame.html
  • 在你的自定义扩展中创建相同路径的文件,复制原模板内容后修改成你需要的结构。
  • 如果只想针对news插件单独修改,可在模板里通过判断插件类型实现:
    <f:if condition="{data.list_type} == 'news_pi1'">
        <!-- 自定义news专属外层容器 -->
        <div class="my-custom-news-wrap" id="c{data.uid}">
            <!-- 标题和内容将在这里插入 -->
            {content}
        </div>
    <f:else>
        <!-- 保留其他内容元素的默认框架 -->
        <div id="c{data.uid}" class="frame frame-default frame-type-{data.CType} frame-layout-{data.layout}">
            {content}
        </div>
    </f:if>
    

2. 自定义头部标题

标题部分默认由EXT:fluid_styled_content/Resources/Private/Partials/ContentElement/Header.html控制:

  • 同样在自定义扩展中创建对应路径的Partial文件,修改标题的标签、类名或渲染逻辑。
  • 结合上面的判断,只为news插件输出自定义标题:
    <!-- 在自定义的Frame.html或Header.html中 -->
    <f:if condition="{data.list_type} == 'news_pi1' && {data.header}">
        <h3 class="news-custom-title">{data.header}</h3>
    </f:if>
    

3. 控制“通用数据”渲染

这里的通用数据如果是内容元素的附加字段(比如作者、创建日期等),可在自定义的Frame模板中直接调用{data}里的字段按需输出;如果是news插件的专属通用数据,可在你已经覆盖的news模板中调整对应部分的渲染。

4. 彻底接管渲染(进阶方案)

如果需要100%控制所有结构,可创建自定义内容元素类型:

  • 在你的扩展中注册新的CType(比如custom_news_list)
  • 为该CType编写独立的Fluid模板,直接整合news插件的查询和渲染逻辑,完全跳过系统默认的内容元素框架。

内容的提问来源于stack exchange,提问作者webman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:09:27