Joomla Template – error.php

error.php Fehlerseite

Die Darstellung der Fehlerseite erfolgt durch die error.php des System- oder des eigenen Templates.

Die error.php des System-Templates (PATH_TO_JOOMLA/templates/system/error.php) wird aufgerufen, sobald die eingegebene URL nicht existiert. Da diese optisch sehr einfach aufgebaut ist, bietet sich ein Override an, damit die Optik der Fehlerseite zum restlichen Design der Website passt.

Override der error.php

Das Override der Fehlerseite ist recht schnell umgsetzt. Hierzu muss man nur die error.php des Systemtemplates in das eigene Template kopieren:

// Originalpfad der Fehlerseite
PATH_TO_JOOMLA/templates/system/error.php

// Pfad des Overrides
PATH_TO_JOOMLA/templates/TEMPLATE_NAME/error.php

Die CSS-Anweisungen der error.php erfolgen noch über das Joomla Template system (vgl. Quellcode)

<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/error.css" type="text/css" />
<?php if ($this->direction == 'rtl') : ?>
<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/error_rtl.css" type="text/css" />
<?php endif; ?>

Durch die Verknüpfung mit den CSS-Dateien des eigenen Templates kann die Optik der error.php angepasst werden. Dabei sollten die Verknüpfungen nach den oben gezeigten Zeilen eingefügt werden, damit die neu hinzugefügten Dateien die „alten“ überschreiben. Oder man kommentiert die Zeilen, in welchen auf die error.css sowie error_rtl.css zugegriffen wird, einfach aus.

<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template ?>/css/stylesheet.css" />

Einbindung der Template Parameter

Der Zugriff auf die Parameter des Templates, welche in der templateDetails.xml festgelegt werden, erfolgt bei der error.php anders als bei der index.php.

<?php
// Zugriff auf Template Parameter ermöglichen
$params = JFactory::getApplication()->getTemplate(true)->params;

// Template Parameter holen
$TemplateParameterA = $params->get('template_parameter_a');
$TemplateParameterB = $params->get('template_parameter_b');
$TemplateParameterC = $params->get('template_parameter_c');
?>

Einbindung von Modulen

Die Einbindung von Modulen ist bei der error.php etwas komplexer, als bei der index.php. Der Code <jdoc:include type="" name="" style="" /> funktioniert also bei der error.php nicht.

Die folgenden Zeilen laden den Content eines bestimmten Moduls.

<?php
name ... Name bzw. Typ des Moduls
title ... Titel des Moduls
$module = JModuleHelper::getModule('name','title');
echo JModuleHelper::renderModule($module);
?>

Mit Hilfe der folgenden Erweiterung des Codes kann die Ausgabe des Moduls bestimmt werden. Hierbei wird auf den Stil des Moduls zugegriffen, welcher über die Funktion modChrome definiert wird.

<?php
$module = JModuleHelper::getModule('name','title');
$attribs['style'] = 'xhtml';
echo JModuleHelper::renderModule($module, $attribs);
?>

Informationen zu name & title eines Moduls

name
Hierbei handelt es sich um den Namen/Typ des Moduls, z. B. menu oder articles_archive.

title
Der Titel wird bei der Erstellung eines Moduls festgelegt und kann individuell gewählt und nachträglich angepasst werden. Das heißt, sobald man den Titel ändert, muss man diese Änderung auch in der error.php anpassen, sofern man dieses Modul eingebunden hat.

Schreibe einen Kommentar

* Pflichtfelder