TYPO3使用MenuProcessor生成主菜单输出NULL无法渲染问题求助
TYPO3主菜单返回NULL问题排查解决方案
- 检查页面菜单显示开关
进入TYPO3后台页面属性的【可见性】选项卡,确认所有要展示在主菜单的页面都勾选了在菜单中显示选项,新建页面默认可能未开启该配置。 - 验证TypoScript配置是否生效
进入后台【模板】模块,选择站点根页后打开【TypoScript对象浏览器】,检索page.10.dataProcessing.10配置,确认你的MenuProcessor配置未被其他扩展、后续TypoScript规则覆盖。 - 确认站点根页配置正确
检查你创建的页面树是否已经绑定了站点配置,MenuProcessor默认从当前站点的根页拉取菜单数据,未绑定站点的页面树无法正常返回菜单条目。 - 补充MenuProcessor明确参数
你当前的配置未指定entryLevel参数,可补充配置明确拉取层级,也可临时开启includeNotInMenu参数验证是否为页面显示开关导致的问题,参考配置:dataProcessing { 10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor 10 { levels = 1 includeSpacer = 1 as = mainnavigation # 明确指定从站点根页(层级0)拉取一级菜单 entryLevel = 0 # 临时测试开启,验证是否是页面菜单显示开关导致的无数据问题 # includeNotInMenu = 1 } } - 检查Fluid变量传递
如果你使用的菜单partial是通过<f:render>标签引入到主模板的,需要确认你在调用时传递了对应变量,示例写法:
未传递<f:render partial="Navigation/Main" arguments="{mainnavigation: mainnavigation}" />arguments参数的话partial内部无法读取到主模板的赋值变量。 - 清理缓存测试
TYPO3会缓存TypoScript和Fluid模板配置,修改后需要清空全站缓存,也可执行命令行typo3 cache:flush完成缓存清理后再验证。
内容的提问来源于stack exchange,提问作者bmandl
相关产品推荐
相关产品推荐

