TYPO3 HMENU browse组件访问上一级页面时上一页按钮不显示问题
问题根因
你遇到的异常是prevnextToSection = 1配置和默认shortcut页面遍历逻辑共同导致的:
prevnextToSection = 1会限制上下页仅在当前页面的同级分区(同一个父页面的子页面范围)内跳转,无法跨父级遍历到「关于我们」这类一级页面- 默认browse模式不会将shortcut类型的跳转入口页(如蔬菜类、水果类)纳入跳转序列,也不会自动关联其跳转目标页的位置,导致番茄页的上一页链路断裂
解决方案
修改TypoScript配置,取消同分区跳转限制,同时开启shortcut解析,将shortcut指向的目标页纳入全站页面遍历序列即可,修改后的完整代码如下:
lib.nextprevious = COA lib.nextprevious { wrap = <div class="turn">|</div> # 上一页 1 = HMENU 1.special = browse 1.special { items = prev | # 取消同分区跳转限制,支持全站页面按树状顺序遍历 items.prevnextToSection = 0 # 解析shortcut类型页面,将其跳转目标页纳入跳转序列 items.resolveShortcuts = 1 prev.fields.title = {$config.terms.previousPage} prev.fields.nav_title = {$config.terms.previousPage} } 1.1 = TMENU 1.1.wrap = <span class="prev">|</span> # 下一页 2 < .1 2.special { items = | next items.prevnextToSection = 0 items.resolveShortcuts = 1 next.fields.title = {$config.terms.nextPage} next.fields.nav_title = {$config.terms.nextPage} } 2.1.wrap = <span class="next">|</span> }
修改后页面的遍历顺序会自动调整为:核桃→花生→苹果→梨→关于我们→番茄→茄子,完全匹配你的需求。如果有特殊页面需要自定义跳转目标,可以额外通过CASE条件判断指定对应页面UID的跳转地址,适配个性化需求。
内容的提问来源于stack exchange,提问作者JanG
相关产品推荐
相关产品推荐

