我正在开发一个typo3扩展,我想从页面ID生成一个url.目前我通过追加index.php?id=ID来创建网址$GLOBALS['TSFE']->baseURL.
有没有其他方法可以从页面ID创建一个可读的URL,如果是,它是如何做到的?
lor*_*enz 13
由于Extbase控制器有一个UriBuilder对象,你应该使用它:
$uri = $this->uriBuilder->reset()
->setTargetPageUid($pageUid)
->setCreateAbsoluteUri(TRUE)
->build();
Run Code Online (Sandbox Code Playgroud)
如果需要,还可以设置参数数组:
$arguments = array(
array('tx_myext_myplugin' =>
array(
'article' => $articleUid,
)
)
);
Run Code Online (Sandbox Code Playgroud)
或者,如果您不需要扩展名前缀:
$arguments = array(
'logintype' => 'login'
);
Run Code Online (Sandbox Code Playgroud)
(当然你可以混合两种变体.)
然后使用:
$uri = $this->uriBuilder->reset()
->setTargetPageUid($pageUid)
->setCreateAbsoluteUri(TRUE)
->setArguments($arguments)
->build();
Run Code Online (Sandbox Code Playgroud)
如果您不在extbase控制器上下文中,则可以使用标准TYPO3功能:
$url = $GLOBALS['TSFE']->cObj->typoLink_URL(
array(
'parameter' => $pageUid,
'forceAbsoluteUrl' => true,
)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9479 次 |
| 最近记录: |