Module
15 Eigene Komponenten, Module, Plugins
Verfasst von Hagen Graf am 1. January 2008 - 17:58Sie wollen mit Joomla! ein Problem lösen, für das es noch keine fertige Komponente gibt? Sie sind beispielsweise Autohändler und benötigen eine über die Joomla!-Administration pflegbare Auflistung Ihrer Gebrauchtwagen auf Ihrer Website? Oder eine Liste Ihrer Niederlassungen? Erweitern Sie einfach den Funktionsumfang um neue Komponenten, Module und Plugins. Was auf den ersten Blick sehr kompliziert aussieht, ist auch mit PHP-Anfängerwissen durchaus machbar.
Nach den Erfahrungen im Template-Bau in Kapitel 13 können Sie sich bestimmt schon vorstellen, was auf Sie zukommt. Diesmal liegt der Schwerpunkt allerdings nicht auf der Gestaltung, sondern auf der Programmierung.
Exkurs
Seit 01.01.2008 wird PHP 4 offiziell nicht mehr weiterentwickelt. Daher sollten Sie alle neuen Erweiterungen nach den Empfehlungen für die Version PHP 5 umsetzen. Joomla selbst ist in der Version 1.5 zu beiden Standards kompatibel. Wenn Sie mehr erfahren möchten: http://gophp5.org/.
15.0.1 Model – View – Controller
Mit Joomla! 1.5 wurde ein Konzept (Muster) für die Erstellung von Erweiterungen eingeführt: das Model-View-Controller-Muster, abgekürzt mit MVC. In der modernen Software-Entwicklung wird dieser Ansatz benutzt, um eine gewisse Ordnung in die Dinge zu bekommen.
Fast immer, wenn es um Aufgaben einer Software geht, benötigt man drei Bereiche:
- Ein Datenmodell (engl. Model)
- Eine Präsentation (engl. View)
- Eine Programmsteuerung (engl. Controller)
Also liegt es nahe, diese drei Bereiche zu standardisieren. Da Programmierer auf solche Vorgaben eher allergisch reagieren, muss es echte Vorteile geben. Schauen wir uns die einzelnen Begriffe näher an.
Modell (Model)
Das Modell enthält die darzustellenden Daten. Die Herkunft der Daten ist unerheblich. Das Modell weiß nichts über die Ausgabe der Daten und hat auch keine Ahnung davon, wie diese Daten verändert werden.
Präsentation (View)
Die Präsentation stellt die Daten des Modells dar. Es muss eine Verbindung zwischen Modell und Präsentation geben, damit etwas dargestellt werden kann.
Steuerung (Controller)
Ja, was wird die Steuerung machen? Sie steuert das Ganze, reagiert auf Benutzereingaben oder andere Ereignisse, verwaltet die Modelle und die Präsentationen und gibt ihre Informationen an Präsentationen weiter.
15.0.2 Wo ist der Vorteil von MVC?
Wie bereits oben angedeutet, kommt gerade im Falle von Joomla! eine gewisse Ordnung in die Dinge. War es mit Joomla! 1.0 üblich, so zu programmieren, wie man Lust hatte, ist das mit Joomla! 1.5 nicht mehr erwünscht. Das hat nichts mit Bevormundung zu tun, sondern mit den Anforderungen der Benutzer, also mit Ihnen!
Sie wollen:
- Barrierefreie Websites (overrides)
- Suchmaschinenfreundliche URLs
- Verteilte Authentifizierung
- Internationalisierung
- Sicherheit und Wartbarkeit
- Wiederverwendbarkeit
- mehr, mehr, mehr ...
Genau dieses mehr, mehr, mehr ist der Grund dafür, Ordnung im System zu schaffen. Solange Sie eine Firma mit einem Mitarbeiter haben, können Sie die Verwaltung noch im Kopf, mit einem Zettel und einem Stift erledigen. Haben Sie 10 Mitarbeiter, wird das schon schwierig. Wenn Ihre Firma jetzt vielleicht auch noch »brummt« und anfängt zu wachsen, brauchen Sie irgendein System zur Verwaltung!
MVC ist so ein System, in unserem Falle aber für Software. Es soll ein Programmdesign ermöglichen, das spätere Änderungen erleichtert und eine Wiederverwendbarkeit von Code ermöglicht. Es ist nicht unumstritten, aber auch nicht schlecht. Wenn sich alle dran halten, ist es gut!
Quell religiöser Diskussion sind natürlich Fragen wie:
- Wohin soll meine Geschäftslogik? In den Controller oder in das Model?
- Wie ist das mit wiederverwendbaren Dialogen? In den View?
- Wie regeln wir mehrere Views (Tabelle, Einzelansicht, Frontend, Backend)?
Da eine vergleichbare Struktur in Joomla! 1.0 nicht existierte, ist dieses »Mantra« und vor allem seine Durchsetzung in meinen Augen die größte Leistung, die Joomla! 1.5 bzw. das Projektteam dahinter vollbracht haben. Die Zukunft wird zeigen, ob die Benutzer und Entwickler das auch so sehen. :-)
Wo ist er also, der Vorteil für alle?
Ganz einfach, Sie kennen das von sich selbst. Wenn die Küche, der Keller, das Auto, der Dachboden erst einmal aufgeräumt sind, ist es relativ einfach, diesen Zustand beizubehalten. Im Falle von Software ist das die Grundvoraussetzung, überhaupt wachsen zu können und pflegbar zu sein. Und Joomla! steht immer noch am Anfang seiner Möglichkeiten. Das heißt, wenn sich heute jemand (das Joomla!-Projektteam) die Arbeit gemacht hat und Joomla! 1.0 aufgeräumt hat, wird es für Sie in Zukunft deutlich einfacher, Joomla! an Ihre Wünsche anzupassen.
1Download siehe Anhang (hier in der Online Version direkt an der Kapitelseite).
- 23491 Aufrufe
French
15.5 Schlussbemerkung
Verfasst von Hagen Graf am 1. January 2008 - 16:56Dieses Kapitel sollte Ihnen eine Übersicht über die Erstellung von Komponenten, Modulen und Plugins geben.
Weitergehende Entwicklungen lassen sich gut aus vergleichbaren Komponenten ableiten. Beispielsweise hat unsere Komponente auto nur eine Tabellenansicht. Suchen Sie sich eine Komponente mit Einzelansicht wie beispielsweise com_contact und erweitern Sie auto um diese Funktionalität.
Ebenso verhält es sich mit den Parameterangaben bei Modulen. Suchen Sie sich eine Vorlage und erstellen Sie Ihr eigenes Modul.
Was auf den ersten Blick kompliziert aussieht, entpuppt sich bei näherem Hinsehen als durchaus durchschaubar.
Ich wünsche Ihnen viel Spaß beim Ausprobieren!
- 7737 Aufrufe
French
15.3 Module
Verfasst von Hagen Graf am 1. January 2008 - 16:53Ein Modul ist von der Idee her sehr viel einfacher. Module haben meist keine echte Administrationsoberfläche, sondern hin und wieder Parameter. Es geht immer um die Darstellung auf Ihrer Website und die Einbindung in Ihr Template. Module setzen meist auf vorhandenen Komponenten auf. Sie können also davon ausgehen, dass bestimmte Tabellen und ihre Inhalte bereits vorhanden sind und gepflegt werden können.
Um selbst ein Modul zu programmieren, benötigen Sie zwei Dateien. Eine Datei für die Logik und die Darstellung und eine XML-Datei für den Joomla!-Installer. Beide Dateien beginnen mit der Kennzeichnung mod_.
15.3.1 Quellcode
Schauen wir uns gleich die Quellcodes der Dateien an. Auch hier werden wieder Templates benutzt. Sie haben die Dateien
- mod_auto.php
- helper.php
- tmpl/default.php
- mod_auto.xml
Schauen wir uns auch diese Dateien an.
Einstiegspunkt (mod_auto.php)
Die Datei mod_auto.php dient als Steuerdatei für das Modul (Listing 15.22).
<?php
defined('_JEXEC')
or die('Restricted access');
require_once (dirname(__FILE__).DS.'helper.php');
$auto = modAutoHelper::getAuto($params);
require(JModuleHelper::getLayoutPath('mod_auto'));
?>
Listing 15.22: mod_auto.php
Hier wird kein Basis-Controller, sondern eine Helper-Klasse eingebunden.
Helper-Klasse (helper.php)
Die Helper-Klasse kombiniert den Controller und das Model (Listing 15.23).
<?php
defined('_JEXEC')
or die( 'Restricted access' );
class modAutoHelper{
function getAuto(&$params){
global $mainframe;
$db = &JFactory::getDBO();
$query = "SELECT *"
. "\n FROM #__auto"
. "\n WHERE published = 1"
. "\n LIMIT 0,5"
;
$db->setQuery( $query );
$rows = $db->loadObjectList();;
$auto = "<ul>\n";
if ($rows) {
foreach ($rows as $row){
$auto .= "<li>".$row->text."</li>\n";
}
}
$auto .= "</ul>\n";
return $auto;
}
}
?>
Listing 15.23: helper.php
In der Helper-Klasse findet nacheinander die Abfrage der Daten auf die Aufbereitung in einer for-Schleife statt.
Template (tmpl/default.php)
In diesem ganz einfachen Konstrukt wird die Variable $auto aus der Helper-Klasse einfach nur ausgegeben. Sie könnten genauso gut die for-Schleife aus der Helper-Klasse hier durchführen und damit mehr Einfluss auf den auszugebenden HTML-Code nehmen und einem Template-Designer ermöglichen, den Quellcode zu überschreiben (Listing 15.24).
defined('_JEXEC')
or die( 'Restricted access' ); ?>
<?php
echo $auto;
?> Listing 15.24: tmpl/default.php
mod_auto.xml
Um das Modul installieren zu können, benötigen Sie wie bei der Komponente alle für den Joomla!-Installer relevanten Daten in einer XML-Datei (Listing 15.25).
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Auto</name>
<author>Hagen Graf</author>
<creationDate>November 2007</creationDate>
<copyright>(C) 2007 cocoate.com All rights reserved.</copyright>
<license>GNU/GPL</license>
<authorEmail>hagen.graf@gmail.com</authorEmail>
<authorUrl>www.cocoate.com</authorUrl>
<version>0.1</version>
<description>Auto Modul</description>
<files>
<filename module="mod_auto">mod_auto.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
</install>
Listing 15.25: mod_auto.xml
15.3.2 Installation
Kopieren Sie alle Dateien in ein Unterverzeichnis und verpacken Sie dieses Verzeichnis in einem zip-Paket mit dem Namen mod_auto.zip. Die zip-Datei können Sie jetzt mit dem Joomla!-Installer wie gewohnt installieren und, wenn Sie wollen, zum Download für andere Benutzer bereitstellen. Bevor Sie das in Ihrer eigenen Installation tun, müssen Sie die per Hand erstellte Variante über den Joomla!-Installer deinstallieren. Klicken Sie dazu auf Erweiterungen - Installieren/Deinstallieren, markieren Sie Ihre Komponente und klicken Sie auf das Icon Deinstallieren.
Nach der Installation müssen Sie das Modul im Menü Erweiterungen - Module aktivieren.
15.3.3 Ansicht auf der Website
Auf Ihrer Website sehen Sie jetzt an der ausgewählten Position die Einträge aus der Tabelle jos_auto (Abbildung 15.17).
- 21752 Aufrufe
French
14.07 Beez und Module
Verfasst von Angie Radtke am 31. December 2007 - 16:37Joomla! bringt von Haus aus verschiedene Module mit unterschiedlichen Funktionalitäten mit. Vom frei definierten HTML-Code bis zur Ausgabe einer Liste der meist gelesenen Artikel ist einiges möglich. Man kann Module im Joomla!-Backend unterschiedlichsten Modulpositionen zuweisen, die dann im Template an die Stelle positioniert werden, an der sie erscheinen sollen. Die Namen der Modulpositionen werden in der Template-internen XML-Datei festgelegt. Hier eröffnen sich zahlreiche Möglichkeiten zur Anpassung des Seitenaufbaus an die Bedürfnisse des jeweiligen Projekts.
Der folgende Code bindet das Modul mit der Position left ein.
<jdoc:include type="module" name="left" />
Beez selbst besitzt eine eigene Art, Module einzubinden, was ermöglicht, die header-level, das heißt die semantische Überschriftenauszeichnung der Module selbst, zu bestimmen.
Jedes Modul kann auf Wunsch mit einer Überschrift aus der Hierarchieebene ausgezeichnet werden. Im global semantischen Zusammenhang einer Seite ist die Wahl der Überschriftenart durchaus von Bedeutung. Sie muss sich in die Gesamtstruktur der Seite logisch integrieren, da unterschiedlichste Inhalte unter Umständen andere inhaltliche Gewichtungen haben können.
<jdoc:include
type="modules"
name="left"
style="beezDivision"
headerLevel="3" />
Tipp
In Hinblick auf die Gestaltung barrierefreier Seiten verdient das Modul most read besondere Beachtung: Es zeigt die Artikel an, die am öftesten aufgerufen wurden, und unterstützt somit Ihren Leser bei der Informationsaufnahme.
- 7222 Aufrufe
French
10.4 Modul kopieren
Verfasst von Hagen Graf am 26. December 2007 - 15:04Stellen Sie sich vor, Sie möchten zwei verschiedene Zufallsbilder anzeigen. Ein Modul soll Bilder aus Verzeichnis A und ein Modul Bilder aus Verzeichnis B anzeigen. In einem solchen Fall wählen Sie einfach das Modul Random Images durch Ankreuzen der Checkbox vor dem Namen aus und klicken auf das Icon Kopieren.
In der Liste erscheint ein neues Modul mit dem Namen Kopie von Random Images. Ändern Sie die Daten wie gewünscht, und Sie haben ein neues Modul.

Abbildung 10.20: Modul kopieren
Wenn Sie die Module Latest News und Popular deaktivieren und die beiden Bildermodule auf die Positionen user1 und user2 legen, werden die neuen Module im Inhaltsbereich des Templates über den Nachrichten bzw. der Frontpage angezeigt.
- 14051 Aufrufe
French
10.5 Administrator Module
Verfasst von Hagen Graf am 26. December 2007 - 9:56In der gleichen Maske im Reiter Administrator sehen Sie einen von der Struktur her gleichen Bereich, diesmal allerdings mit Modulen, die im Administrationsbereich Anwendung finden (Abbildung 10.21).

Abbildung 10.21: Administrator-Module
10.5.1 Logged in Users
Das Modul zeigt eine Liste der momentan eingeloggten Benutzer an der Position cpanel, also als Karteireiter im Kontrollzentrum an (Abbildung 10.22).
10.5.2 Popular
Das Modul Popular präsentiert die Liste der am meisten besuchten Inhalte als Karteireiter im Kontrollzentrum an (Abbildung 10.22).
10.5.3 Recent added Articles
Dieses Modul zeigt eine Liste der zuletzt veröffentlichten Beiträge als Karteireiter im Kontrollzentrum an. Beiträge, die auf der Startseite veröffentlicht wurden, sind in der Liste nicht aufgeführt (Abbildung 10.22).
10.5.4 Menu Stats
Das Modul Menu Stats zeigt die Statistik über die Belegung der einzelnen Menüelemente als Karteireiter im Kontrollzentrum an (Abbildung 10.22).

Abbildung 10.22: Admin-Module im Kontrollzentrum
10.5.5 Footer
Dieses Modul zeigt die Joomla!-Copyright-Information im Backend an.
10.5.6 Unread Messages
Das Modul Unread Messages informiert Sie über die Anzahl der ungelesenen Administratornachrichten an der Stelle header, also oben rechts.
10.5.7 Online Users
Das Modul Online Users zeigt die Anzahl der angemeldeten Benutzer auf der Seite an der Stelle header an.
10.5.8 Quick Icons
Dieses Modul Quick Icons bietet die Icons zum schnellen Zugriff im Kontrollzentrum.
10.5.9 Login Form
Dieses Modul zeigt das Anmeldeformular zum Administrationsbereich. Sie sollten es nicht deaktivieren!
10.5.10 Admin Menu
Dieses Modul zeigt die JavaScript-Navigation im Backend. Sie sollten es nicht deaktivieren!
10.5.11 User Status
Das Modul User Status schaltet den Infobereich oben rechts komplett an und aus. Sie sollten es nicht deaktivieren!
10.5.12 Admin Submenu
Das Modul Admin Submenu schaltet den Bereich, in dem die Reiter angezeigt werden, aus. Sie sollten es nicht deaktivieren!
10.5.13 Title
Das Modul Title bestimmt die Anzeige der Beschreibung und des Icons links neben der Werkzeugleiste. Sie sollten es nicht deaktivieren!
10.5.14 Toolbar
Das Modul Toolbar bestimmt die Anzeige der Werkzeugleiste. Sie sollten es nicht deaktivieren!
10.5.15 CSS Admin Menu
Das Modul CSS Admin Menu ist zuständig für die Anzeige des Joomla!-Administrationsmenüs.
- 7820 Aufrufe
French
10.3 Site-Module
Verfasst von Hagen Graf am 26. December 2007 - 9:5510.3.1 Breadcrumbs
Unter Breadcrumbs (Brotkrümel) versteht man die Anzeige der Hierarchie von Beiträgen (Abbildung 10.4). Die einzelnen Oberbegriffe des Beitrages, der Bereich News und die Kategorie Latest sind verlinkt und bieten dadurch dem Besucher eine Orientierungs- und Navigationsmöglichkeit. Als Parameter können Sie einstellen, ob Home/Startseite angezeigt werden soll. Wenn Sie das Modul deaktivieren, werden die Breadcrumbs nicht mehr angezeigt.

Abbildung 10.5: Breadcrumb Parameter
Sie können in den Parametern festlegen, ob die Ebene Home angezeigt werden soll und wie sie heißen soll (Startseite). Außerdem können Sie noch ein individuelles Trennzeichen und das Modul-Klassensuffix zur individuellen Gestaltung angeben.
10.3.2 Footer
Dieses Modul zeigt die Joomla!-Lizenzinformationen in der Fußzeile an. Sie können es deaktivieren, um diese Informationen auf der Startseite zu unterdrücken.
10.3.3 Banner
Dieses Modul steuert die Anzeige der Banner. Außer den bekannten Einstellungen in den Details und der Zuordnung zu den Seiten können Sie folgende Parameter konfigurieren (Abbildung 10.6):

Abbildung 10.6: Banner-Modul – Parameter
Target: Wo soll die Ziel-URL dargestellt werden? Gleiches Fenster oder neues Fenster, mit oder ohne Navigation?
Anzahl: Anzahl der Einblendungen
Bannerkunde: Wenn in diesem Modul nur Banner eines Kunden dargestellt werden sollen, wählen Sie hier den Kunden aus.
Kategorie: Wenn hier nur Banner aus einer bestimmten Kategorie angezeigt werden sollen (beispielsweise nur Textlinks), wählen Sie hier die entsprechende Kategorie aus.
Über Tags suchen: An einzelne Banner können Tags vergeben werden. Hier können Sie bestimmen, ob Sie beispielsweise nur Banner mit dem Tag Joomla! anzeigen lassen wollen.
Zufällig anordnen: Hier haben Sie Einfluss auf die Rotation der Banner. Sticky, Reihenfolge heißt, dass zuerst Banner eingeblendet werden, die das Kennzeichen Sticky haben, dann in der Reihenfolge der Sortierung, wie sie im Banner angegeben ist. Sticky, zufällig heißt, dass zuerst Banner eingeblendet werden, die das Kennzeichen Sticky haben, dann jedoch eine Zufallsfunktion die Banner auswählt.
Kopfzeile: Ein Text vor dem Banner
Fußzeile: Ein Text nach dem Banner
Modul-KlassenSuffix: Hier können Sie einen Zusatz zum Namen der CSS-Klasse angeben. Im Feld speichern Sie nur beispielsweise table. Daraus wird dann die Klasse module_table, die angesprochen wird. Sie müssen nun noch »Ihre« Klasse in der entsprechenden CSS-Datei des Templates implementieren.
10.3.4 Alle Menüs (mod_mainmenu)
Die interne Modulbezeichnung mod_mainmenu wird für alle Menü-Module benutzt. Auch das in Kapitel 7.4 auf Seite 140 angelegte Joomla! 1.5 Buch-Menü ist vom Typ main_menu. Es gibt vertikale (Main Menu) und horizontale Menüs (Top Menu). Bei vertikalen Menüs bietet sich noch die Möglichkeit einer flachen Liste. Eine flache Liste ist einfach eine Aufzählung von einzelnen Punkten. Die Modul-Parameter legen die wichtigsten Einstellungen fest (Abbildung 10.7).

Abbildung 10.7: Menü Modul Parameter
Menüname: Name des Menüs, das diesem Modul zugeordnet wurde.
Menü-Style: Vertikal, horizontal oder flache Liste
Start-Ebene: Schachtelungsebene, bei der dieses Menü starten soll
End Level: Schachtelungsebene, bis zu der dieses Menü die Einträge anzeigen soll.
Untermenüs immer anzeigen: Soll der Menüeintrag immer aufgeklappt sein, auch wenn man auf einen anderen Eintrag klickt? Diese Funktion ist nur sinnvoll bei verschachtelten Menüstrukturen (Abbildung 10.8).
Zielposition: Die hier eingetragenen Werte werden bei allen Menüeinträgen genutzt, deren Einstellung für das Attribut Bei Klick öffnen in den Wert In neuem Browserfenster, ohne Menü lautet. Ein Beispiel: top=10, left=10, width=200, height=300.
In den Kompatibilitätsparametern können nach Joomla! 1.0-Manier Menü-Icons zu den Menülinks angezeigt werden:
Volles aktives Hervorheben: Dieser Parameter bezieht sich darauf, alle Elternelemente ebenfalls als aktiv zu markieren. Normalerweise ist es nur der einzelne Link. Achtung: Das Markieren mehrerer Links als aktiv widerspricht dem XHTML-Standard.
Menü-Icons anzeigen: Sollen die Menü-Icons angezeigt werden? Die Anzeige der Icons ist abhängig vom jeweiligen aktiven Template.
Menü-Icon Ausrichtung: Sollen die Menü-Icons links oder rechts positioniert werden?

Abbildung 10.8: Menüschachtelungen
Bild für den Zeileneinzug: Welches Icon soll bei den Unterstrukturen eines Menüeintrags dargestellt werden? Sie haben die Wahl, die Icons aus dem Template zu übernehmen, die Joomla!-Standardwerte zu benutzen, jede Hierarchieebene mit einem eigenen Bild zu versehen oder überhaupt keine Icons anzuzeigen.
Zeileneinzug 1-6: Hier können Sie Icons für sechs Hierarchiestufen festlegen.
Trennzeichen: Bei horizontalen Menüs sollte zwischen den Menüeinträgen ein Trennzeichen stehen, das Sie hier bestimmen.
Ende Trennzeichen: Bei horizontalen Menüs kann am Ende der Menüeinträge ein Endezeichen dargestellt werden. Wenn Sie das möchten, können Sie es hier festlegen.
10.3.5 Statistics
Das Statistik-Modul ist standardmäßig deaktiviert. Wenn Sie es aktivieren, müssen Sie noch die Seiten auswählen, auf denen es angezeigt werden soll. Es liefert Informationen über Ihren Server.
Server Info: Sollen die Serverinformationen angezeigt werden oder nicht?
Site Info: Sollen die Websiteinformationen angezeigt werden oder nicht?
Trefferzähler: Soll der Besucherzähler eingeblendet werden oder nicht?
Zähler hochsetzen: Hier können Sie den Startwert des Besucherzählers festlegen.
10.3.6 Login Form
Das Login-Modul stellt zwei Sichten zur Verfügung. Ist man noch nicht angemeldet, erhält man ein Login-Formular, in das man seinen Benutzernamen und sein Passwort eingeben kann. Abhängig von den Einstellungen in Site - Konfiguration - Site ist es auch möglich, sich neu zu registrieren oder nicht (Abbildung 10.9). Nach der erfolgreichen Anmeldung wechselt die Anzeige in eine Abmeldemöglichkeit (Abbildung 10.10).

Abbildung 10.9: Login-Modul – nicht angemeldet

Abbildung 10.10: Login-Modul – angemeldet
Parameter
Caching: Soll der Inhalt des Menüs zwischengespeichert werden, um Ladezeit zu sparen?
Modul-KlassenSuffix: Hier können Sie eine spezielle CSS-Klasse zur optischen Gestaltung des Menüs eingeben.
Vor-Text: Text, den Sie hier eingeben, erscheint vor dem Formular im Login-Modus.
Nach-Text: Text, den Sie hier eingeben, erscheint am Ende des Moduls im Login-Modus.
Anmelde-Weiterleitung URL: Hier können Sie eine URL bestimmen, zu der nach einem erfolgreichen Login verzweigt wird.
Abmelde-Weiterleitung URL: Hier legen Sie die URL fest, zu der nach einem erfolgreichen Logout umgeleitet wird.
Gruß: Nach dem Anmelden wechselt das Modul das Aussehen und zeigt einen Begrüßungstext und einen Abmelde-Button an. Hier können Sie entscheiden, ob Sie diesen Text anzeigen lassen wollen (»Hallo Benutzername«)?
Name/Benutzername: Hier bestimmen Sie, ob der Benutzer im Begrüßungstext mit seinem echten Namen oder mit seinem Benutzernamen angesprochen wird.
10.3.7 Archive
Das Archiv-Modul ist standardmäßig deaktiviert. Wenn Sie es aktivieren, müssen Sie noch die Seiten auswählen, auf denen es angezeigt werden soll. Es liefert Informationen über die Inhalte Ihres Archivs. Die Anzeige wird gruppiert nach Monaten.
Parameter
Anzahl: Hier können Sie die Anzahl der angezeigten Monate festlegen.
10.3.8 Sections
Das Sections-Modul ist standardmäßig deaktiviert. Es zeigt die verschiedenen Bereiche (Sections) der Website an. Wenn Sie es aktivieren, müssen Sie noch die Seiten auswählen, auf denen es angezeigt werden soll (Abbildung 10.11).

Abbildung 10.11: Sections-Modul
Parameter
Anzahl: Hier können Sie die Anzahl der angezeigten Bereiche festlegen.
10.3.9 Related Items
Das Related Items-Modul (ähnliche Beiträge) zeigt die Überschriften anderer Beiträge an, die eine Beziehung zu diesem Beitrag haben.
Die Beziehung basiert auf den in den Metadaten festgelegten Schlüsselwörtern. Alle Schlüsselwörter des aktuell angezeigten Beitrages werden mit denen der anderen veröffentlichten Beiträge verglichen.
Wenn Sie beispielsweise im Beitrag Joomla! License Guidelines und in Ihrer erstellten Nachricht als Schlüsselwort test eingetragen haben, werden beim Aufruf die Nachricht und die Lizenzbedingungen als Related Items angezeigt. Als Parameter können Sie zusätzlich das Datum des verbundenen Beitrages anzeigen lassen.
10.3.10 Wrapper
Das Wrapper-Modul bindet externe, nicht von Joomla! erzeugte Inhalte innerhalb eines so genannten iframes ein. Ein iframe ist ein HTML-Tag2 und stellt einen scrollbaren Bereich innerhalb einer Website dar. Mithilfe dieses Moduls können Sie ganze Websites, die auf anderen Servern online sind, in den Inhaltsbereich von Joomla! integrieren. In Abbildung 10.12 sehen Sie ein Beispiel mit Googles PDA-Portal3.

Abbildung 10.12: Per Wrapper eingebundene Google-Website
Parameter
Url: Hier können Sie die URL der gewünschten Website angeben.
Scrollbalken: Sollen Scrollbalken im iframe angezeigt werden? Sie haben die Wahl zwischen Ja, Nein und der automatischen Einblendung bei Bedarf.
Breite/Höhe: Breite und Höhe des iframe in Prozent oder Pixel
Auto Höhe: Soll die Höhe automatisch angepasst werden?
Auto Hinzufügen: Standardmäßig wird vor die angegebene URL ein http:// eingefügt, wenn kein http:// oder https:// gefunden wurde. Dieses Verhalten kann hier ein- oder ausgeschaltet werden.
Zielname: Hier können Sie den Namen des iframe (name attribut) angeben.
10.3.11 Feed Display
In diesem Modul können Sie ein Newsfeed in einem Modul auf der Website anzeigen (Abbildung 10.13)4.

Abbildung 10.13: Newsfeed als Modul
Parameter
Feed Url: Hier können Sie die URL des gewünschten Newsfeeds angeben.
RTL Feed: Geht die Schreibrichtung dieses Feeds von rechts nach links?
Feed Titel: Soll der Titel des Newsfeeds angezeigt werden?
Feed Beschreibung: Sollen die Beschreibungen des Newsfeeds angezeigt werden?
Feed Bild: Soll das Logo des Newsfeeds angezeigt werden?
Beiträge: Anzahl der Beiträge, die angezeigt werden sollen
Beitragsbeschreibung: Sollen die Beitragstexte angezeigt werden?
Anzahl Wörter: Legen Sie hier fest, wie viele Worte der Beitragsbeschreibung angezeigt werden sollen.
10.3.12 Who's Online
Das Who’s Online-Modul zeigt an, wer sich gerade auf der Seite bewegt. Dabei wird zwischen Gästen und angemeldeten Benutzern unterschieden (Abbildung 10.14).

Abbildung 10.14: Who's Online-Modul
Parameter
Display: Hier entscheiden Sie über die Anzeige des Moduls. Sie haben die Wahl zwischen:
- Anzahl Gäste, Anzahl Mitglieder
- Benutzernamen der angemeldeten Benutzer
- einer Kombination aus den beiden vorangegangenen Punkten
10.3.13 Polls
Hier wird die Funktionalität für die Anzeige von Umfragen (Polls) grundsätzlich ein- oder ausgeschaltet. Die Umfragen selbst werden in der Komponente Umfragen konfiguriert (Kapitel 9.4 auf Seite 180, Menü Komponenten - Umfragen). Als Parameter können Sie die Umfrage angeben, die im Modul angezeigt werden soll.
10.3.14 Advertisement
Dieses Modul ist eine Kopie des Bannermoduls. Es bezieht sich standardmäßig auf Banner, die sich in der Kategorie Text Ads befinden und Textlinks enthalten.
10.3.15 Random Image
Mit diesem Modul können Sie zufällig ausgewählte Bilder aus einem Ordner Ihrer Wahl darstellen lassen. Das Modul ist standardmäßig aktiviert, aber keiner Seite zugeordnet. Bevor Sie es auf Ihrer Website sehen können, müssen Sie es den gewünschten Seiten zuordnen.
Parameter
Bildtyp: Hier können Sie den Typ des Bildes festlegen (jpg/png/gif). Sie können nur einen Typ gleichzeitig anzeigen.
Bildverzeichnis: Hier müssen Sie das Verzeichnis angeben, in dem sich die Bilder befinden. Ich habe images/stories ohne führenden Slash ausgewählt.
Link: Wenn Sie hier eine URL eingeben, wird das Bild anklickbar. Das Linkziel ist die hier bestimmte URL.
Breite (px)/Höhe (px): Breite und Höhe der dargestellten Bilder in Pixel. Wenn Sie hier nichts angeben, werden die Bilder so gut wie möglich angezeigt.
10.3.16 Syndication
Im Syndication-Modul wird das Newsfeed der Website angeboten. In den Parametern können Sie festlegen, welche Standards Sie anbieten wollen. Die Inhalte des angebotenen Newsfeeds stellen die Einträge der Frontpage dar (Abbildung 10.15).
![]()
Abbildung 10.15: Syndication-Modul
10.3.17 Newsflash
Das Newsflash-Modul zeigt zufällige Intro-Texte Ihrer Beiträge (Abbildung 10.16).

Abbildung 10.16: Newsflash-Modul
Parameter
Kategorie: Hier können Sie durch Auswahl aus einer Liste festlegen, ob die Inhalte aus einer speziellen Kategorie kommen sollen oder aus allen Kategorien.
Layout: Hier können Sie zwischen einer Spaltendarstellung (horizontal) und der Darstellung wie in (Abbildung 10.16) wählen (vertikal).
Bilder anzeigen: Sollen Bilder, die in den Inhalten enthalten sind, angezeigt werden oder nicht?
Verlinkte Titel: Sie können hier festlegen, ob die Titel als Link zum gesamten Beitrag erscheinen sollen.
Weiterlesen: Weiterlesen-Link einblenden oder nicht?
Beitagstitel: Hier können Sie entscheiden, ob Sie den Titel des Beitrages einblenden wollen.
Anzahl: Hier bestimmen Sie die Anzahl der gleichzeitig angezeigten Inhalte.
10.3.18 Latest News
Mit diesem Modul werden die letzten (neuesten) Beiträge angezeigt (Abbildung 10.17). Standardmäßig ist es auf der user1-Position angeordnet. Sie können es auch auf eine andere Position befördern, beispielsweise nach rechts.

Abbildung 10.17: Latest News-Modul
Parameter
Anzahl: Hier bestimmen Sie die Anzahl der anzuzeigenden Elemente.
Reihenfolge: Hier können Sie entscheiden, ob Sie die neuesten oder die zuletzt geänderten Beiträge anzeigen wollen.
Autoren: Beiträge auf einen bestimmten Autor einschränken.
Startseiten-Beiträge: Sollen Beiträge, die auf der Startseite stehen, mit einbezogen werden?
Bereichs-ID: Hier können Sie die Datensatznummern der anzuzeigenden Bereiche, getrennt durch Kommata, angeben und damit eine Inhaltsauswahl nur aus diesen Bereichen erzwingen.
Kategorie-ID: Wenn Sie hier die Datensatznummern der anzuzeigenden Kategorien, getrennt durch Kommata, angeben, können Sie damit eine Inhaltsauswahl nur aus diesen Kategorien erzwingen.
10.3.19 Popular
Mit diesem Modul werden die beliebtesten Nachrichten angezeigt.

Abbildung 10.18: Popular-Modul
Parameter
Die Parameter entsprechen denen des Latest News-Moduls.
10.3.20 Search
Das Search-Modul taucht im Standard-Template nur als Eingabefeld auf.
Dieses Template setzt nicht alle Parameter um. Um die Konfigurationsmöglichkeiten zu demonstrieren, habe ich den Anzeigetext geändert (Abbildung 10.19).
Parameter
Box-Breite: Größe der Textbox in Zeichen, im Beispiel sind es 30 Zeichen.
Text: Hier geben Sie den Text an, der im Suchfeld angezeigt wird.
Suchen Schaltfläche: Hier können Sie entscheiden, ob Sie einen Such-Button haben wollen oder nicht.
Schaltflächen-Position: Wenn Sie einen Such-Button ausgewählt haben, können Sie hier die Position festlegen (rechts, links, oben, unten).
Schaltfläche als Bild: Hier können Sie entscheiden, ob Sie als Schaltfläche eine Grafik haben wollen.
Schaltflächen-Text: Hier legen Sie die Beschriftung für den Such-Button fest.
- 4 Die neuesten Extensions von Joomla! finden Sie unter http://extensions.joomla.org/index.php?option=com_mt_rss.
- 18444 Aufrufe
French
10.2 Module
Verfasst von Hagen Graf am 26. December 2007 - 9:54Ein Modul ist im Gegensatz zu einer Komponente einfacher aufgebaut. Es ist ein Code-Fragment, das von einem anderen Programmteil eingebaut und interpretiert wird.
Durch die Möglichkeiten, die die Scriptsprache PHP bietet, können Module Daten aus allen möglichen Quellen sammeln. Das kann eine Quelle auf Ihrer eigenen Website sein (die letzten fünf Artikel) oder ein Wetter- bzw. Devisenkurs, der Amazon- oder der Ebay-Webservice.
Ein Modul enthält eine Geschäftslogik und eine Benutzeroberfläche. Es hat keinen eigenen Administrationsbereich wie die meisten Komponenten. Es besteht jedoch die Möglichkeit, ein Modul über Parameter zu steuern. Das Template Ihrer Website spricht die verschiedenen Module direkt an und integriert sie.
Da die Module eigenständige Programme sind, können sie in diesem Bereich des Templates etwas Bestimmtes tun, beispielsweise ein Banner anzeigen. Ein Template macht nichts anderes, als viele verschiedene Module auf eine optisch ansprechende Art zu gruppieren. Die Modulstruktur hat den Vorteil, dass Sie Ihre Website auf einfache Weise erweitern können.
Da Sie Templates für Ihre Website und für die Joomla!-Administration verwenden können, gibt es auch unterschiedliche Module für diese Templates. Der Modul-Bereich im Menü Erweiterungen - Module ist die zentrale Stelle, um Module zu verwalten (Abbildung 10.3).

Abbildung 10.3: Erweiterungen - Module
Name: Name des Moduls und Überschrift auf der Website
Aktiviert: Ist das Modul veröffentlicht?
Reihenfolge: Hier können Sie mithilfe der grünen Pfeile die Sortierung verändern. Damit können Sie beispielsweise beeinflussen, ob das Menü Joomla! 1.5 Buch über oder unter dem Hauptmenü steht. Eine direkte Sortierung durch Angabe der Position und einmaligen Klick auf das Icon neben Reihenfolge erspart das viele Klicken auf die grünen Pfeile.
Zugriff: Zugriffsberechtigung für dieses Modul (Public, Registered, Special)
Position: Die Position ist eine Angabe für das Template, in welchem Bereich die Anzeige dieses Moduls vorgesehen ist. Es gibt standardmäßig Positionen innerhalb eines Templates, beispielsweise:
- banner (Werbebereich)
- left (Linke Seite)
- right (Rechte Seite)
- top (Oben)
- user1 (Benutzerdefiniert 1)
- user2 (Benutzerdefiniert 2)
- user3 (Benutzerdefiniert 3)
- user4 (Benutzerdefiniert 4)
Nach diesen Positionen können Sie mithilfe der Optionsliste im oberen Bereich die Anzeige für eine bessere Übersicht filtern. Mehr über Positionen in Ihrem Template finden Sie in Kapitel 10.7.1.
Seiten: Wird das Modul auf allen oder nur auf bestimmten Seiten angezeigt?
Typ: Es gibt verschiedene Typen von Modulen. Der Typ mod_mainmenu beispielsweise tritt mehrmals auf, da jedes Menü zu diesem Typ gehört. Die einzelnen Menüs unterscheiden sich dann nur in den Parametern. Nach diesen Typen können Sie mithilfe der Optionsliste im oberen Bereich die Anzeige filtern, um eine bessere Übersicht zu erhalten.
ID: Die Datensatznummer aus der Datenbank
10.2.1 Modulfilter
In der Maske existieren zahlreiche Filtermöglichkeiten, mit denen Sie die Anzeige noch individualisieren können. Diese Filtermechanismen sind durchaus sinnvoll, wird doch Joomla! bereits standardmäßig mit mehr als 20 Modulen ausgeliefert.
Die Bearbeitung dieser Module funktioniert weitgehend einheitlich. Außer den Angaben für Name, Zugriff etc. müssen Sie auch entscheiden, auf welchen Seiten Ihr Modul angezeigt wird und welche Position das Modul im Template haben soll.
Die Parameterliste ist bei Modulen besonders wichtig, deswegen werde ich bei der weiteren Vorstellung der Module besonders auf die Parameter eingehen. Sie können Module beliebig oft kopieren und mit veränderten Parametern, Titel und Positionen auf der Website anzeigen.
- 11590 Aufrufe
French
10.1 Installieren-Deinstallieren
Verfasst von Hagen Graf am 26. December 2007 - 9:53Grundsätzlich kann jeder eine Erweiterung für Joomla! schreiben, nach gewissen Regeln verpacken und per Joomla!-Installation in die Website integrieren. In diesem Bereich finden Sie eine Übersicht über die installierten Erweiterungen. Die Maske, die nach einem Aufruf des Menüpunkts Erweiterungen - Installieren/Deinstallieren erscheint, bietet drei Möglichkeiten, Erweiterungen zu installieren (Abbildung 10.2)1.

Abbildung 10.2: Erweiterungen - Installieren/Deinstallieren
- Hochladen einer Paketdatei
- Installation aus einem Verzeichnis
- Installation durch Eingabe einer URL
Die Reiter Komponenten, Module, Plugins und Sprachen enthalten jeweils Auflistungen der installierten Erweiterungen. Wir werden auf die Installation von zusätzlichen Komponenten im Kapitel 12 eingehen.
10.1.1 Installierte Komponenten, Module, Plugins, Sprachen und Templates
In den jeweiligen Reitern, beispielsweise unter Komponenten, sehen Sie eine Liste der standardmäßig installierten Komponenten. Sie sehen Informationen über die Version der Komponenten, das Datum der Erstellung und den Autor. Falls Sie eine Komponente deinstallieren wollen, wählen Sie sie aus und klicken in der Werkzeugleiste auf das Icon Deinstallieren.
Achtung
Die Komponente ist nach der Deinstallation wirklich verschwunden – manchmal mit allen gespeicherten Daten! Es gibt keinen Komponenten-Papierkorb!
Diese Verhaltensweise ist durchaus so gewollt. Es obliegt dem Komponentenentwickler, für welche Strategie er sich entscheidet. Manchmal ist es sinnvoll die Tabellen nicht zu löschen, beispielsweise bei einem Update. Manchmal allerdings ist es wichtig, wirklich alle Tabellen, die erzeugt worden sind, rückstandslos zu löschen. Im Kapitel 15 erfahren Sie mehr über diese Techniken. Lesen Sie unbedingt die Dokumentation der entsprechenden Komponente, um mit ihrem Verhalten vertraut zu sein.
- 1Siehe auch Kapitel 12.
- 13868 Aufrufe
French
1.3 Struktur eines Web Content Management Systems (WCMS)
Verfasst von Hagen Graf am 7. December 2007 - 17:49Am Beispiel von Joomla! werde ich hier kurz die Struktur eines WCMS erläutern.
Front- und Backend
Ein Web Content Management System (WCMS) besteht meist aus einem Frontend und einem Backend. Das Frontend ist die Website, wie sie der Besucher und der dort angemeldete Benutzer sehen.
Das Backend dagegen ist die Verwaltungsanwendung, die im Falle eines WCMS ebenfalls im Internetbrowser abgebildet wird. Im Backend wird von berechtigten Personen konfiguriert, gepflegt, aufgeräumt, werden Statistiken erstellt und oft auch neue Inhalte erzeugt. Das Backend findet man unter einer anderen URL als die Website.
Zugriffsrechte
Immer wenn es um Management geht, geht es um das clevere Verwalten von vorhandenen Ressourcen. In einem WCMS werden den beteiligten Personen User- und Gruppennamen zugeordnet und diese mit unterschiedlichen Zugriffsrechten versehen. Das geht von einem einfachen registrierten Benutzer über einen Autor und Editor bis hin zum Superadministrator, der alles darf. Abhängig von den Rechten erscheint das Frontend dann mit anderen Inhalten, der Möglichkeit, Inhalte direkt auf dem Frontend zu bearbeiten, oder der Benutzer erhält die Erlaubnis, im Backend zu arbeiten.
Inhalte
Inhalte können verschiedener Art sein. Im einfachsten Fall ist es ein Text. Inhalt kann aber auch ein Bild, ein Link, ein Musikstück, ein Schnipsel aus einer Anwendung wie Google Maps oder die Kombination aus allem sein. Um den Überblick über die Inhalte zu behalten, bettet man sie in Strukturen ein, beispielsweise Texte in verschiedene Kategorien. Auch die Kategorien sind natürlich Inhalte, die verwaltet werden müssen. Newsfeeds sind sehr populär geworden, da der Internet Explorer 7 die Lesemöglichkeit von RSS Feeds zum ersten Mal anbot. Heute benutzen immer noch weit über 80% der Menschheit diesen Browser. Mit Newsfeeds besteht die Möglichkeit, Daten aus anderen Quellen zu integrieren. Die Integration, Kategorisierung, Bewertung, das „Mashen“ und die Aktualisierung von Newsfeed-Inhalten spielen eine immer größere Rolle und werden immer mehr zum Klebstoff zwischen unterschiedlichen Websites.
Extensions
Komponenten, Module, Templates und Plugins werden als Extensions (Erweiterungen) bezeichnet. Sie stellen zusätzliche Funktionen bereit, die im Kern von Joomla nicht enthalten sind.
Templates
Ein Template ist eine Art visuelle Schablone, die über die Inhalte gelegt wird. Ein Template definiert die Farben, Schriftarten, Schriftgrößen, Hintergrundbilder, Abstände und Aufteilung der Seite und somit alles, was mit dem Erscheinungsbild der Seite zu tun hat. Ein Template besteht aus mindestens einer HTML-Datei für die Struktur der Seite und einer CSS-Datei für das Design. Es kann aber auch erheblich komplexer in der Struktur sein und Joomla!-Daten barrierefrei oder für einen völlig anderen Zweck aufbereiten.
Plugins
Ein Plugin ist ein Stück Programmiercode, das sich an bestimmte Stellen im Joomla!-Framework »anheftet«, um die Funktionalität zu verändern. Beispielsweise können innerhalb eines Inhaltstextes Plugins genutzt werden, um den Inhalt eines Moduls in einen Text zu laden. Auch bei der Website-weiten Suche werden Plugins benutzt, um Zusatzkomponenten in die Suche zu integrieren. Plugins werden manchmal wie eine Makrosprache in Joomla! genutzt.
Module
Ein Modul ist ein Bereich zusätzlich zum Inhaltsbereich im Frontend, der meistens Daten aus einer Komponente anzeigt. Module können an vordefinierten Stellen (Positionen) im Template angezeigt werden. Module mit Bezug auf die Komponenten werden genutzt, um die Inhalte in der gewünschten Form an anderen Stellen als im Inhaltsbereich im Template zu integrieren. Das Modul Letzte Neuigkeiten liefert beispielsweise die Überschriften der zuletzt über die Content Komponente eingestellten fünf Beiträge an das Template. Ein anderes Modul ermittelt z.B. die Anzahl der User, die gerade online sind und zeigt das Ergebnis an.
Komponenten
Joomla! muss erweiterbar sein und mit den Anforderungen wachsen. Mit dem Begriff Komponenten werden in Joomla! Erweiterungen bezeichnet, die zusätzliche Funktionalität zur Verfügung stellen und meistens über einen eigenen Bereich in der Joomla!-Administration verfügen. Typische Komponenten der vergangenen Jahre sind beispielsweise ein Online-Shop, eine Bildergalerie, ein Newsletter- oder ein Forensystem. Heute spielen Dinge wie Suchmaschinenoptimierung, Benutzerrechte, mehrseitige Formulare und variable Inhaltsstrukturen eine zunehmend größere Rolle.
Komponenten enthalten die Geschäftslogik Ihrer Seite und stellen die Inhalte im Inhaltsbereich (Main Body) der Website dar.
Workflow
Unter Workflow versteht man einen Arbeitsablauf. Der deutsche Dreisatz (stempeln, lochen, abheften) ist ein Beispiel für einen Workflow. Auch ein Rezept zum Backen eines Kuchens ist ein Workflow. Da bei einem CMS meist mehrere Menschen die Inhalte bearbeiten, ist ein gut organisierter Workflow eine echte Hilfe.
Früher sprach man in diesem Zusammenhang auch von Arbeitsvorräten, die ein Benutzer hat. Beispielsweise sieht der Bearbeiter eine Liste von unveröffentlichten Neuigkeiten, die er auf Richtigkeit zu untersuchen hat. Nach der Prüfung schaltet er die Neuigkeiten frei, und sie erscheinen im Arbeitsvorrat des Publishers, der sich nun überlegen muss, ob er die Nachricht auf der Startseite veröffentlicht.
Konfigurationseinstellungen
Hier werden Einstellungen festgelegt, die für die gesamte Homepage gelten. Dazu gehören etwa der Titeltext im Browserfenster, Schlüsselwörter für Suchmaschinen, Schalter, die es erlauben oder verbieten, sich auf der Seite anzumelden, die die gesamte Seite offline oder online schalten, und viele weitere Funktionen.
API
Eine Programmierschnittstelle12 (API) gehört heute zum „guten Ton“. Es muss möglich sein (und ist es auch), Joomla! von anderen Programmen aus anzusprechen und gewissermaßen fernzubedienen. Das ermöglicht ganz neue Anwendungen, die vorher mit Joomla! nicht realisierbar waren. Die API ist das wichtigste Bindeglied zwischen Third Party Extensions Entwicklern und dem Joomla!-Kern.
- Neuen Kommentar schreiben
- 12988 Aufrufe
French



Neueste Kommentare
vor 2 Tage 11 Stunden
vor 2 Wochen 5 Tage
vor 3 Wochen 3 Tage
vor 3 Wochen 19 Stunden
vor 7 Wochen 5 Tage
vor 7 Wochen 5 Tage
vor 7 Wochen 5 Tage
vor 7 Wochen 6 Tage
vor 7 Wochen 6 Tage
vor 8 Wochen 1 Stunde