3
如何在extbase擴展控制器中獲取當前頁面的uri?如果我需要通過電子郵件發送當前uri或將其保存到數據庫以備後用或統計。EXTBASE:如何在extbase控制器中獲取當前頁面的uri?
如何在extbase擴展控制器中獲取當前頁面的uri?如果我需要通過電子郵件發送當前uri或將其保存到數據庫以備後用或統計。EXTBASE:如何在extbase控制器中獲取當前頁面的uri?
您可以使用此行:
$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());
}
雖然下面是更有效的..
$this->controllerContext
->getUriBuilder()
->reset()
->setTargetPageUid(int PAGE_UID)
->setArguments(array ARRAY_VARIABLE_OF_ADDITIONAL_ARGUMENTS)
->buildFrontendUri();
OR
包括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
這一個對我幫助很大。!謝謝Mihir –
我不明白這是如何更有效率。 – j4k3