public static getPageDetails ( mixed $intId ) : |
||
$intId | mixed | A page ID or a Model object |
return | The page model or null |
public static function getPageDetails($intId)
{
@trigger_error('Using Controller::getPageDetails() has been deprecated and will no longer work in Contao 5.0. Use PageModel::findWithDetails() or PageModel->loadDetails() instead.', E_USER_DEPRECATED);
if ($intId instanceof PageModel) {
return $intId->loadDetails();
} elseif ($intId instanceof Model\Collection) {
/** @var PageModel $objPage */
$objPage = $intId->current();
return $objPage->loadDetails();
} elseif (is_object($intId)) {
$strKey = __METHOD__ . '-' . $intId->id;
// Try to load from cache
if (\Cache::has($strKey)) {
return \Cache::get($strKey);
}
// Create a model from the database result
$objPage = new \PageModel();
$objPage->setRow($intId->row());
$objPage->loadDetails();
\Cache::set($strKey, $objPage);
return $objPage;
} else {
// Invalid ID
if (!strlen($intId) || $intId < 1) {
return null;
}
$strKey = __METHOD__ . '-' . $intId;
// Try to load from cache
if (\Cache::has($strKey)) {
return \Cache::get($strKey);
}
$objPage = \PageModel::findWithDetails($intId);
\Cache::set($strKey, $objPage);
return $objPage;
}
}