如何在 extbase 扩展控制器中获取当前页面的 uri?如果我需要通过电子邮件发送当前 uri 或将其保存到数据库以供以后使用或统计。
问问题
12574 次
2 回答
13
您可以使用此行:
$this->uriBuilder->getRequest()->getRequestUri()
例子:
public function newAction(Tx_YourExtension_Domain_Model_YourModel $yourModel = NULL) {
$this->view->assign('yourModel', $yourModel);
$this->view->assign('url', $this->uriBuilder->getRequest()->getRequestUri());
}
于 2013-07-30T15:43:36.773 回答
6
虽然跟随更有效..
$this->controllerContext
->getUriBuilder()
->reset()
->setTargetPageUid(int PAGE_UID)
->setArguments(array ARRAY_VARIABLE_OF_ADDITIONAL_ARGUMENTS)
->buildFrontendUri();
或者
包括 UriBuilder 对象
/**
* UriBuilder
*
* @var \TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder
* @inject
*/
protected $uriBuilder = NULL;
使用以下获取 URL
$this->uriBuilder
->reset()
->setTargetPageUid(int PAGE_UID)
->setArguments(array ARRAY_VARIABLE_OF_ADDITIONAL_ARGUMENTS)
->buildFrontendUri();
对于基础 Uri
$this->request->getBaseUri()
OR
$GLOBALS['TSFE']->baseUrl
于 2014-07-29T09:02:10.387 回答