我担心这可能是一个插件特定/相关的问题,但也许有一些更有经验的TypoScript / Extensions程序员,他们可以给我一个快速提示在哪里看。
我正在使用图库插件YAG Gallery。出于搜索引擎优化的目的,我希望在itemList的上一页和下一页的标题中添加附加链接。
目前,我实现了以下目标: 在Classes/Controller/ItemListController.php中,我将以下行添加到函数“listAction”中:
$pager = $this->extListContext->getPagerCollection();
$nextLinkUid = $pager->getNextPage();
$prevLinkUid = $pager->getPreviousPage();
$prev = '<link rel="prev" href="' . $prevLinkUid . '">';
$next = '<link rel="next" href="' . $nextLinkUid . '">';
$this->response->addAdditionalHeaderData($prev . PHP_EOL . $next);
有了这个,我在页面的<head>
部分有两个额外的标签
<link rel="prev" href="1">
<link rel="next" href="2">
到目前为止,非常好 - 我有一个正确的条目,我有prev和下一个链接的页面uids。
有谁知道如何在这个地方获得实际链接?就像在Resources/Private/Partials/Pager/Default.html
中呈现的那样<f:if condition="{pager.showPreviousLink}">
<li class="previous">
<extlist:link.action controller="{controller}" action="{action}" arguments="{extlist:namespace.GPArray(object:'{pagerCollection}' arguments:'page:{pager.previousPage}')}"><span><</span></extlist:link.action>
</li>
</f:if>
我必须从控制器调用什么动作才能获得链接?
我认为我可能必须以某种方式使用Classes/ViewHelpers/Link/ItemViewHelper.php中的render
- 但是如何?我无法弄清楚如何将语法从Partial转换为我可以从控制器中调用的语法。
答案 0 :(得分:0)
对于任何想知道我是如何解决这个问题的人:
我没有使用addAdditionalHeaderData,而是直接在partial中通过流体viewhelper添加了标题数据: