2017-10-12 123 views
0

恐怕这可能是一个插件特定/相关问题,但也许有一些更有经验的TypoScript/Extensions程序员在那里,谁可以给我一个快速提示在哪里看。Typoscript控制器内的渲染链接

我正在使用图库插件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和下一个链接的页面用户界面。

有没有人有一个想法我怎么能得到这个地方的实际链接?像这是内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>&lt;</span></extlist:link.action> 
    </li> 
</f:if> 

呈现一个什么样的行动做我必须从控制器调用得到一个链接?

我假设我可能必须以某种方式使用renderClasses/ViewHelpers/Link/ItemViewHelper.php - 但如何?我无法弄清楚如何将Partial的语法转换为我可以在控制器中调用的语法。

回答