在 Typoscript 控制器中渲染 Link
Render Link within Typoscript Controller
恐怕这可能是一个插件问题 specific/related,但也许那里有一些更有经验的 TypoScript / Extensions 程序员,他们可以给我一个快速提示去哪里查看。
我正在使用图库插件 YAG Gallery。出于 SEO 目的,我希望在 header 中为 itemList 的上一页和下一页添加额外的 link。
目前我取得了以下成就:
在 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">
到目前为止,一切顺利 - 我有一个正确的条目,并且我有上一个和下一个 link 的页面 uid。
有谁知道我怎样才能在这个地方得到真正的 link?就像在 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>
我必须从控制器调用什么操作才能获得 Link?
我假设我可能必须以某种方式使用 Classes/ViewHelpers/Link/ItemViewHelper.php 中的 render
- 但如何使用?我不知道如何将部分语法转换为我可以从控制器中调用的语法。
对于任何想知道我是如何解决这个问题的人:
我没有使用 addAdditionalHeaderData 添加了 header 数据,而是直接在部分中直接通过流体视图帮助器添加了
数据:
恐怕这可能是一个插件问题 specific/related,但也许那里有一些更有经验的 TypoScript / Extensions 程序员,他们可以给我一个快速提示去哪里查看。
我正在使用图库插件 YAG Gallery。出于 SEO 目的,我希望在 header 中为 itemList 的上一页和下一页添加额外的 link。
目前我取得了以下成就: 在 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">
到目前为止,一切顺利 - 我有一个正确的条目,并且我有上一个和下一个 link 的页面 uid。
有谁知道我怎样才能在这个地方得到真正的 link?就像在 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>
我必须从控制器调用什么操作才能获得 Link?
我假设我可能必须以某种方式使用 Classes/ViewHelpers/Link/ItemViewHelper.php 中的 render
- 但如何使用?我不知道如何将部分语法转换为我可以从控制器中调用的语法。
对于任何想知道我是如何解决这个问题的人:
我没有使用 addAdditionalHeaderData 添加了 header 数据,而是直接在部分中直接通过流体视图帮助器添加了
数据: