Die Standard Page Klasse kann über beliebig viele Methoden erweitert werden (sogenannte Magic-Methoden). Wird eine Methode aufgerufen (z.B. test()), die weder die Standard Page Klasse, noch die PageExtension kennt, dann wird nach einer Datei Page.test.php gesucht. Existiert so eine Datei, dann muss diese die Funktion test() definieren. Diese erhält als ersten Parameter das aktuelle Page Objekt ($page) und als zweiten Parameter alle übergebenen Parameter beim initialen Aufruf ($params).
Beispiel:
echo $page->test(array('a' => true, 'b' => 'Mein String'));
Inhalt von Page.test.php:
function test($page, $params) {
return $page->field['name'] . ': ' . $params['b'];
}
So eine Datei folgt den gängigen Vererbungsregeln und kann demnach an folgenden Stellen existieren:
- <Mandant>/<Seitentyp>/ (nur für diesen Mandanten und nur für diesen Seitentyp)
- _global/<Seitentyp>/ (für alle Mandanten und nur für diesen Seitentyp)
- <Mandant>/ (nur für diesen Mandanten und für alle Seitentypen)
- _global/ (für alle Mandanten und für alle Seitentypen)