modChrome – Ausgabe von Joomla Modulen

Die Ausgabe von Modulen wird durch die Funktion modChrome_STYLE generiert.

Das Joomla-System-Template stellt standardmäßig sechs Stile zur Verfügung:
none, table, horz, xhtml, rounded, outline

Override der Funktion modChrome

Die Stile zur Ausgabe von Modulen werden durch die Datei modules.php (PATH_TO_JOOMLA/templates/system/html/modules.php) des Joomla System-Templates gesteuert.
Mit Hilfe eines Overrides können diese Stile um eigene modChrome-Funktionen erweitert werden, indem man eine neue modules.php erstellt und in das html-Verzeichnis des eigenen Templates einfügt.

Grundaufbau der modules.php

<?php
// no direct access
defined('_JEXEC') or die;
?>
<?php
// Style A
function modChrome_styleA($module, &$params, &$attribs){...}
?>
<?php
// Style B
function modChrome_styleB($module, &$params, &$attribs){...}
?>
<?php
// Style C
function modChrome_styleC($module, &$params, &$attribs){...}
?>

Beispiel 1

Bei dem folgenden Beispiel wird zuerst das Modulklassensuffix vorbereitet. Sofern er vorhanden ist, wird automatisch ein Leerzeichen vorangestellt, damit das Suffix nicht direkt an der bereits vorhandenen Klasse module angefügt wird. Natürlich kann man das Modulklassensuffix gleich mit einem vorangestellten Leerzeichen eingeben, wenn man ein Modul erstellt.

Des Weiteren wird der Titel des Moduls innerhalb eines span-Tags ausgegeben, sofern dieser angezeigt werden soll. Danach wird der Inhalt des Moduls ausgegeben.

<?php
// Style standard
function modChrome_standard( $module, &$params, &$attribs )
{
// Abfrage, ob das Modulklassen-Suffix existiert
if($params->get('moduleclass_sfx')):
    $modClass = ' '.$params->get('moduleclass_sfx');
else:
    $modClass = ' mod-standard';
endif;
// Ausgabe des Moduls
    echo '<div class="module' . $modClass . '">';
    if($module->showtitle):
    echo '<span class="title">' . $module->title . '</span>';
    endif;
    echo $module->content;
    echo '</div>';
}
?>

Module – Eigenschaften auslesen

Mit Hilfe der folgenden Variablen können diverse Eigenschaften von Modulen ausgelesen werden.

$params->get('moduleclass_sfx') … Modulklassensuffix des Moduls

$module->title … Titel des Moduls

$module->content … Inhalt des Moduls

$module->id … ID des Moduls

$module->module … Art/Typ des Moduls

$module->position … Position des Moduls

$module->style … Style des Moduls

$module->name … Name des Moduls

$module->showtitle … Anzeige des Modultitels (0 => nein, 1=> ja)

Schreibe einen Kommentar

* Pflichtfelder