Hyperlink 如何生成流体中的分页链接

Hyperlink 如何生成流体中的分页链接,hyperlink,pagination,typo3,typo3-9.x,Hyperlink,Pagination,Typo3,Typo3 9.x,我有一个TYPO3扩展,它显示了一个记录列表。由于它有40多页,我想提供一个额外的字母索引,使访问者能够直接跳到一个字符的开头 一般来说,除了第n页的链接外,其他都正常工作 我有包含当前字符的流体变量cur(例如M)和页码中必要的页码(例如23) 我如何获得正确的url,该url应如下所示: https://mydomain.tld/path/to/list?tx_myextension_myextension[@widget_0][currentPage]=23&cHash=a6193a7ea

我有一个TYPO3扩展,它显示了一个记录列表。由于它有40多页,我想提供一个额外的字母索引,使访问者能够直接跳到一个字符的开头

一般来说,除了第n页的链接外,其他都正常工作

我有包含当前字符的流体变量
cur
(例如
M
)和
页码中必要的页码(例如
23

我如何获得正确的url,该url应如下所示:
https://mydomain.tld/path/to/list?tx_myextension_myextension[@widget_0][currentPage]=23&cHash=a6193a7eab129df4789343911221584b#jumplabel_M

或者

<a class="page-link" href="{f:uri.page(additionalParams:{tx_myextension_myextension{@widget_0:{currentPage:pageNumber}}})}#jmplabel_{cur}">{cur}</a>

看起来还可以,但是没有找到裂缝,因此导致404页找不到。

检查Georg Ringer在他的新闻分机中是如何做到这一点的。实际上,这是分页的解决方案

PaginateAdditionalParamsViewHelper.php:

公共函数render()
{
$page=(int)$this->arguments['page'];
如果($page==0){
返回[];
}
$params=[
“tx_新闻_pi1”=>[
“@widget_0”=>[
“currentPage”=>$page
]
]
];
返回$params;
}
在某些模板中:
,尤其是
附加参数



您的回答让我找到了解决方案,但我犹豫是否接受您的回答,因为第一部分导致了一条死胡同(我们不能使用“@”)。作为解决方案的链接可能会随着时间的推移而失效。对于完整的解决方案,应该复制代码。(我可以添加我的工作代码作为进一步的回答)这里的代码太多,无法粘贴,我相信Georg的扩展将从现在起保留很多年;)@BerndWilkeπφ更严重的是,我在写完答案后意识到这是为了TYPO3的分页,因此,我添加了新闻样本,现在清理了我的答案。
<a class="page-link" href="{f:uri.page(additionalParams:{tx_myextension_myextension[@widget_0][currentPage]:pageNumber})}#jmplabel_{cur}">{cur}</a>
<a class="page-link" href="{f:uri.page()}?tx_phonebook_phonebook[@widget_0][currentPage]={pageNumber}#jmplabel_{cur}">{cur}</a>