2017-10-12 120 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的語法轉換爲我可以在控制器中調用的語法。

回答