我目前正在我的一页网站上运行 TYPO3 12,其中包括新闻部分。要进入新闻部分,您必须向下滚动一点。到目前为止这还好。问题出在详细视图中的反向链接上。就目前而言,每当您转到新闻文章的详细视图并使用反向链接时,您都必须向下滚动回到新闻部分。
请注意,此 OnePager 在后端的单个页面上具有所有部分。所以只有“首页”页面,其中包含“英雄图片”、“新闻”、“联系方式”等所有部分。
所以我想将正确的锚链接添加到我的反向链接中,这样您就不必向下滚动。为了获得正确的锚链接,我需要列表视图的 cObjectUid。我如何将 cObjectUid 从列表视图传递到详细视图?
这是一个小插图。红色箭头显示反向链接当前的行为方式,绿色箭头显示我想要的行为方式。
我尝试向链接添加一些额外的参数并将它们传递到控制器中,但到目前为止没有成功。
这是我当前的链接代码,链接到详细视图:
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
Some text
</n:link>
这是我当前的反向链接代码:
<f:link.page pageUid="{settings.backPid}">
Sometext
</f:link.page>
为了清晰起见进行了编辑
所以我找到了解决我的问题的方法,但在我看来这并不理想,这就是为什么我不会将其标记为已解决。
我调整了详细视图链接,并将 cObjectUid 作为附加参数添加到 URL 中:
<n:link newsItem="{newsItem}" settings="{settings}" configuration="{additionalParams:'&tx_news_pi1[listUid]={uid}'}" title="{newsItem.title}">
Sometext
</n:link>
在控制器内部,我现在可以获取该参数并将其分配给详细视图。
$additionalArguments = $this->request->getArguments();
$listUid = $additionalArguments['listUid'];
$assignValues['listUid'] = $listUid;
if (count($assignValues) > 0) {
$this->view->assignMultiple($assignValues);
}
这样我就可以为反向链接分配正确的 HTML ID。
但是,这仍然存在两个问题: