我目前正在尝试实现自定义RouteEnhancer。
是我一个人,还是文档又很不完整?除了变更日志条目中的一段微不足道的段落外,我无法在TYPO3中找到有关自定义增强子的任何信息,在哪里可以找到关于这些信息的更多信息?我无法在API文档中找到它们。
在我的扩展程序中,域模型的相关部分是<div class="dropdown">
<button class="navbar-toggler" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="navbar-toggler-icon"></span> <!-- Put in hamburger -->
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#about">About Me</a>
<a class="dropdown-item" href="#heritage">My Heritage</a>
<a class="dropdown-item" href="#contact">Get In Touch</a>
</div>
</div>
和Termin
。
Veranstaltung
中有一个n to 1
关系类型。我的termin->veranstaltung
接受Veranstaltung->showAction()
作为参数。我从默认的PersistedAliasMapper开始,对于termin
的{{1}} s来说还可以。不幸的是,实际标题在uid
实体中。
我想出了这些简单的转换器,并设置了配置以使用它们。我有两个问题:
Termin
。Veranstaltung
希望我以字符串形式返回实体veranstaltung/81?cHash=fba7f1194090a8400556257a4cfe6f3b
,对吗?TerminValueMapper.php:
resolve()
config:
uid
答案 0 :(得分:1)
有关路由功能的文档-特别是扩展路由-可以在https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Routing/ExtendingRouting.html#writing-custom-enhancers
中找到对于cHash的调试问题,请使用以下两个地方作为起点:
\TYPO3\CMS\Core\Routing\PageRouter::buildPageArguments
和Packages/TYPO3.CMS/typo3/sysext/core/Classes/Routing/PageRouter.php:311
扩展路由时,请注意是否需要编写自定义路由增强器(如果需要控制完整路由的外观和解析方式)还是自定义方面(如果要控制单个路由参数的方式) (“变量”)进行映射和解析)。两者都具有子类型(增强器和装饰器,静态或动态映射器),您可以在文档中找到它们。