在我当前的TYPO3 9.5.5“经典模式”项目中,在以下文件夹结构中管理3个菜单块:
RootPage
- Home (-> this is a separate menu)
- [FOLDER FOR MAIN MENU]
-- Menu 1
-- Menu 2
-- Menu 3
- [FOLDER FOR META MENU]
-- Contact
-- Privacy Protection
通过MenuProcessors生成菜单,如下所示:
page.10.FLUIDTEMPLATE.dataProcessing {
// Main menu
20 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
20 {
special = directory
special.value = {$mainMenuFolderPid}
as = menuMain
titleField = nav_title // title
expandAll = 1
includeSpacer = 0
levels = 3
}
// Meta menu
25 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
25 {
special = directory
special.value = {$metaMenuFolderPid}
as = menuMeta
...
}
}
虽然home menu
和main menu
在语音网址方面按预期工作,但是meta menu
不能正确创建语音网址,而是直接使用页面标题,这意味着Contact
中的“ c”确实大写,Privacy Protection
中的“ p”也有大写字母。
最终的URL格式如下:
https://domain.tld/Contact
https://domain.tld/Privacy Protection
这会导致404(“站点配置”中定义的一个; 404工作正常)。
如果我将元菜单更改为list
并手动添加页面ID,则会为该菜单生成相同的错误结果。
奇怪的是,当直接从后端打开联系人页面时,会生成正确的url(domain.tld / contact.html)(即使我手动重命名了子弹)。
有人可以帮我理解吗,请问我在这里做错了吗?
答案 0 :(得分:0)
事实证明,游戏中有第三名叫Fluid的玩家。而且所有这些花哨的标签中都隐藏着一个愚蠢的错字...我没有使用item.link
来代替href标签中的item.page.title
,而是生成了不希望的输出。我不好...
答案 1 :(得分:0)
听起来像菜单提供程序中的对象符号拼写错误。如果使用menuItem.link
,将生成一个链接。但是似乎您可以使用类似menuItem.page.title
的标题。