【发布时间】:2017-10-13 07:21:30
【问题描述】:
我正在尝试从 Typo3 的控制器中调用 ViewHelper 函数(以添加一些额外的标头数据)
基地是Yag Gallery。
我编辑了ItemListController.php 并添加了以下内容:
$pager = $this->extListContext->getPagerCollection();
$prevLinkUid = $pager->getPreviousPage();
$arg = Tx_YAG_ViewHelpers_Namespace_GPArrayViewHelper::render([page:$prevLinkUid], $pager)
$test = '<link rel="test" href="' . $arg . '">';
$this->response->addAdditionalHeaderData($test);
addAdditionalHeaderData 函数适用于其他数据(例如$prevLinkUid,因此这部分运行良好)。
如果我正确理解 GPArrayViewHelper::render 的语法,我需要 pageUid 作为第一个参数,pagerCollection 作为第二个参数(源自 Resources/Private/Partials/Pager/Default.html 中的此调用
<extlist:link.action controller="{controller}" action="{action}" arguments="{extlist:namespace.GPArray(object:'{pagerCollection}' arguments:'page:{pager.previousPage}')}"><span><</span> </extlist:link.action>
)
但是 - 如果我尝试这个控制器,我的页面将不会呈现,所以我认为 php 代码/函数调用有问题,甚至可能是键值对/第一个参数的语法?对不起,我不是php专业的
有什么想法可以实现吗?我读到在其他控制器中使用 ViewHelpers 可能很困难?
【问题讨论】:
标签: php typo3 fluid extbase typo3-extensions