Page::getPidFromRequest()
\nn\t3::Page()->getPidFromRequest();
Get PID from request string, e.g. in backend modules. Hacky. ToDo: Check if there is a better method.
\nn\t3::Page()->getPidFromRequest();
Copied!
| @return int
Source Code
public function getPidFromRequest ()
{
if (\TYPO3\CMS\Core\Core\Environment::isCli()) {
return 0;
}
if ($request = \nn\t3::Environment()->getRequest()) {
$params = $request->getQueryParams();
$pageUid = array_key_first($params['edit']['pages'] ?? []);
if ($pageUid) return $pageUid;
}
$pageUid = $_REQUEST['popViewId'] ?? false;
if (!$pageUid) $pageUid = preg_replace( '/(.*)(id=)([0-9]*)(.*)/i', '\\3', $_REQUEST['returnUrl'] ?? '' );
if (!$pageUid) $pageUid = preg_replace( '/(.*)(id=)([0-9]*)(.*)/i', '\\3', $_POST['returnUrl'] ?? '' );
if (!$pageUid) $pageUid = preg_replace( '/(.*)(id=)([0-9]*)(.*)/i', '\\3', $_GET['returnUrl'] ?? '' );
if (!$pageUid && ($_GET['edit']['pages'] ?? false)) $pageUid = array_keys($_GET['edit']['pages'])[0] ?? 0;
if (!$pageUid) $pageUid = $_GET['id'] ?? 0;
return (int) $pageUid;
}
Copied!