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

TYPO3 tx_news 仅按年份生成dateMenu日期菜单的实现方案咨询

TYPO3 tx_news 日期菜单仅按年份筛选实现方案

1. 配置模板覆盖(避免修改原扩展代码)

首先将原扩展的日期菜单模板文件 /typo3conf/ext/news/Resources/Private/Templates/News/DateMenu.html 复制到你自己站点包的对应目录下,示例路径为 typo3conf/ext/your_site_package/Resources/Private/Templates/Extensions/News/DateMenu.html,随后在站点根TypoScript中添加模板覆盖配置:

plugin.tx_news {
    view {
        templateRootPaths {
            10 = EXT:your_site_package/Resources/Private/Templates/Extensions/News/
        }
        partialRootPaths {
            10 = EXT:your_site_package/Resources/Private/Partials/Extensions/News/
        }
        layoutRootPaths {
            10 = EXT:your_site_package/Resources/Private/Layouts/Extensions/News/
        }
    }
}

注意将路径中的your_site_package替换为你实际使用的站点包扩展名称

2. 调整日期菜单分组规则

在同一TypoScript配置中添加以下配置,将日期菜单的分组逻辑调整为仅按年份分组:

plugin.tx_news.settings {
    dateMenu {
        // 仅按年维度分组
        groupBy = year
        // 开启新闻数量统计
        showCount = 1
        // 日期输出格式为4位年份
        dateFormat = Y
    }
}

3. 重写日期菜单模板

将你复制到站点包下的DateMenu.html内容替换为以下代码,去掉默认的月份循环逻辑,直接输出年份列表:

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:if condition="{dateMenus}">
    <ul class="news-year-menu">
        <f:for each="{dateMenus}" as="dateMenuItem">
            <li>
                <f:link.page pageUid="{settings.listPid}" additionalParams="{
                    tx_news_pi1: {
                        overwriteDemand: {year: dateMenuItem.year},
                        controller: 'News',
                        action: 'list'
                    }
                }">
                    {dateMenuItem.year} ({dateMenuItem.count})
                </f:link.page>
            </li>
        </f:for>
    </ul>
</f:if>
</html>

生效验证

配置完成后清空TYPO3全站缓存,即可看到形如2019(8)、2020(12)的年份筛选菜单,点击对应年份后新闻列表页将仅展示该年份下的所有新闻。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:42:02