
Composer在线学习地址:学习地址
b13/menus 扩展的核心优势:
- 优化的缓存策略: 扩展会先构建完整的菜单结构并进行缓存,然后再根据当前页面应用激活状态。这样可以减少缓存条目的数量,提高缓存命中率。
- 简洁的配置方式: 扩展提供了多种 cObject 和 DataProcessor,分别用于构建不同类型的菜单,例如树形菜单、语言菜单、列表菜单和面包屑菜单。这些 cObject 和 DataProcessor 具有更清晰的配置选项,易于理解和使用。
- 灵活的定制能力: 扩展支持通过 TypoScript 和 Fluid 模板进行高度定制,可以满足各种不同的菜单需求。
如何使用 b13/menus 扩展:
-
安装扩展:
立即学习“前端免费学习笔记(深入)”;
composer req b13/menus
-
配置 TypoScript:
Workflow Decomposer下载工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
根据需要选择合适的 cObject 或 DataProcessor,并配置相应的参数。例如,以下代码展示了如何使用
B13\Menus\DataProcessing\TreeMenuDataProcessor 构建一个树形菜单:page.10 = FLUIDTEMPLATE page.10.dataProcessing.10 = B13\Menus\DataProcessing\TreeMenu page.10.dataProcessing.10.entryPoints = 23,13 page.10.dataProcessing.10.depth = 3 page.10.dataProcessing.10.excludePages = 4,51 page.10.dataProcessing.10.as = mobilemenu
-
在 Fluid 模板中使用菜单数据:
在 Fluid 模板中,可以使用
<for></for>标签遍历菜单数据,并生成相应的 HTML 代码。例如:<nav> <f:for each="{mobilemenu}" as="page"> <f:link.page pageUid="{page.uid}">{page.nav_title}</f:link.page> <f:if condition="{page.hasSubpages} && {page.isInRootLine}"> <ul> <f:for each="{page.subpages}" as="subpage"> <li><f:link.page pageUid="{subpage.uid}">{subpage.nav_title}</f:link.page></li> </f:for> </ul> </f:if> </f:for> </nav>
实际应用效果:
通过使用 b13/menus 扩展,我们成功地优化了多个大型 TYPO3 网站的菜单性能。在这些网站上,菜单的生成速度得到了显著提升,服务器的负载也明显降低。此外,b13/menus 扩展的简洁配置方式也大大提高了开发效率。
总而言之,b13/menus 扩展是一个非常实用的 TYPO3 菜单优化工具。它可以帮助开发者轻松构建高性能、易于维护的菜单系统,从而提升网站的整体用户体验。如果你正在构建大型 TYPO3 网站,那么 b13/menus 扩展绝对值得尝试。


















