【问题标题】:TYPO3 MenuProcessor shows root page when empty?TYPO3 MenuProcessor 为空时显示根页面?
【发布时间】:2026-01-03 06:55:02
【问题描述】:

我有一个使用 Pages 字段和 MenuProcessor 的基本菜单元素。

在流体模板中,我只想在“页面”字段中有页面时才输出一些内容。但如果该字段为空,MenuProcessor 会将根页面添加到数组中。

如何防止将根页面添加到应为空的数组中?

打字稿看起来像这样:

dataProcessing {
        10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        10 {
             special = list
             special.value.field = pages
             levels = 1
             as = menuItems
             expandAll = 1
             includeNotInMenu = 1
             titleField = nav_title // title
        }
}

【问题讨论】:

    标签: typo3 typoscript fluid typo3-9.x


    【解决方案1】:

    我想这是一个非常特殊的边缘情况(可以在菜单处理器中处理,您可以在 https://forge.typo3.org 上打开一张票)。

    当您使用空输入参数确定原因时,您可能会在这种情况下建立一个条件。
    在 FLUID 或打字稿中。
    在打字稿中,您可以添加 stdWrap 函数:

    10 { 
       :
    
       if.isTrue.field = pages
    }
    

    【讨论】:

    • 谢谢,我不知道为什么我没想到!在流体模板中,数组中总是有一项,所以我不能在那里做 IF。
    • 在流体中你不能使用 menuItems 但字段 pages 会给出与打字稿相同的条件
    【解决方案2】:

    你试过entryLevel吗?

    dataProcessing {
       10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
       10 {
           entryLevel = 0
       }
    }
    

    【讨论】:

    • entryLevel = 0 没有效果