Contao – Layout ID auf einer Seite ohne Layoutzuweisung

Wir auf einer Seite das Layout bzw. die Layout ID benötigt, so liefert das PageModel bei einer einfachen Abfrage den Wert aus der Datenbank.

$pageId = 22;
$objPage = \PageModel::findByPK($pageId);
echo $objPage->layout; # Liefert auf einer Seite, die keine Layoutzuweisung hat 0

Dieser Wert ist aber falsch, wenn auf der aktuellen Seite kein Layout zugewiesen wurde.

Um hier den Wert der vererbenden Parent-Page zu erhalten werden noch weitere Details benötigt. Die erhält man mit der Funktion loadDetails().

$pageId = 22;
$objPage = \PageModel::findByPK($pageId);
echo $objPage->loadDetails()->layout;

Nun wird die Layout ID der vererbenden Seite ausgegeben.

Auch möglich ist:

$pageId = 22;
$objPage = \PageModel::findWithDetails($pageId);
echo $objPage->layout;

Zurück