TYPO3 12 新闻反向链接到列表视图部分

问题描述 投票:0回答:1

我目前正在我的一页网站上运行 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>

为了清晰起见进行了编辑

typo3 typoscript fluid typo3-extensions tx-news
1个回答
0
投票

所以我找到了解决我的问题的方法,但在我看来这并不理想,这就是为什么我不会将其标记为已解决。

我调整了详细视图链接,并将 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。

但是,这仍然存在两个问题:

  1. 如果 URL 不包含附加参数,反向链接将不再链接到正确的部分。
  2. 该网址看起来不太好。
© www.soinside.com 2019 - 2024. All rights reserved.