【问题标题】:TYPO3 9.5.5 - Speaking URLs not generated in a second menuTYPO3 9.5.5 - 在第二个菜单中未生成朗读 URL
【发布时间】:2019-05-07 08:14:20
【问题描述】:

在我当前的 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 menumain menu 在口语网址方面按预期工作,但meta menu 不会正确创建口语网址,而是直接使用页面标题,这意味着@987654326 中的“c” @ 确实是大写的,Privacy Protection 中的“p”也是大写的,它也有空格。 生成的 URL 格式如下所示:

https://domain.tld/Contact
https://domain.tld/Privacy Protection

这会导致 404(在“站点配置”中定义的那个;404 工作正常)。

如果我将元菜单更改为 list 并手动添加页面 ID,则会为该菜单生成相同的错误结果。

奇怪的是,当直接从后端打开联系页面时,会生成正确的 url (domain.tld/contact.html)(即使我手动重命名了 slug)。

谁能帮我理解一下,我在这里做错了什么?

【问题讨论】:

    标签: slug typo3-9.x


    【解决方案1】:

    这听起来像是菜单提供程序中拼写错误的对象符号。如果您使用menuItem.link,将生成一个链接。但似乎你的标题是menuItem.page.title

    【讨论】:

      【解决方案2】:

      好吧,事实证明,游戏中还有第三名玩家 Fluid。所有这些花哨的标签中都隐藏了一个愚蠢的错字......我没有解决href标签中的item.link,而是使用item.page.title,它产生了不想要的输出。我的坏...

      【讨论】:

        猜你喜欢
        • 2019-07-21
        • 2021-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多