Ein eigenes Template, basierend auf Atomic
Das Atomic-Template ist ein Gerüst für Ihr eigenes Template. Es besteht aus:
- /htdocs/templates/atomic
component.php – das Template für die Druckansicht
error.php – das Template für die Fehlerseite
favicon.ico – das Icon der Website (Favicon)
index.html – eine leere HTML Datei, die eine weisse Seite darstellt, wenn jemand das Verzeichnis direkt aufruft. Damit wird vermieden, dass die Dateien des Verzeichnisses dem Besucher angezeigt werden. Joomla! Nutzt diese Technik in allen Verzeichnissen.
index.php – das Hauptseiten-Template
templateDetails.xml – Die Konfigurationsdatei mit allen Informationen über Dateien, Positionen und Optionen ist notwendig, damit das Template im Template-Bereich angezeigt wird und um später ein installierbares Zip-Archiv zu erzeugen.
template_preview.png – das große Template-Vorschaubild, das im Template-Bereich angezeigt wird
template_thumbnail.png – das kleine Template-Vorschaubild, das im Template-Bereich angezeigt wird - /htdocs/templates/atomic/css
Das Verzeichnis für CSS-Dateien - /htdocs/templates/atomic/html
Das Verzeichnis für Override-Dateien. Atomic bietet bereits einige Override-Dateien für Module an. - /htdocs/templates/atomic/images
Das Verzeichnis für Grafiken und Fotos - /htdocs/templates/atomic/js
Das Verzeichnis für JavaScript-Dateien - /htdocs/templates/atomic/languages
Das Verzeichnis für Sprachdateien. Atomic enthält bereits die Sprachdateien für Englisch.
Die Haupt-Template-Datei index.php
Der Name dieser Layout-Datei muss index.php lauten, da Joomla! nach eingefügten <jdoc>- und PHP-Befehlen sucht. Die notwendigen HTML-Auszeichnungen sind bereits eingebaut und kommentiert. Sie können den Inhalt der Datei Ihren Bedürfnissen anpassen.
Lassen Sie uns kurz die Datei durchgehen, um einen Überblick zu erhalten:
In Zeile 24 können Sie sich entscheiden, ob Sie mit dem Blueprint-CSS-Framework arbeiten wollen oder nicht. (Zu Blueprint erfahren Sie weiter unten mehr.)
In Zeile 50, 56, 62 und weiteren Zeilen können Sie sehen, dass das Template Positionen mit besonderen Namen (atomic-search, atomic-topmenu, ...) zur Verfügung stellt. Wenn Sie diese Namen benutzen wollen, müssen Sie Ihre Module den vorgegebenen Positionen zuordnen. Wenn Sie die Namen ändern wollen, können Sie das in der templateDetails.xml-Datei tun.
In Zeile 42 sehen Sie den Ausdruck:
echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/template.js
Die Wert von baseurl (Name des Joomla!-Verzeichnisses) und der Name Ihres Templates sind Joomla! bekannt, und Sie können sie bei Bedarf abrufen.
In Zeile 48 sehen Sie:
echo $app->getCfg('sitename');
Dieser Ausdruck liefert den Namen Ihrer Website.
In Zeile 50 sehen Sie:
if($this->countModules('atomic-search')) ...
Dieser Ausdruck zählt die Module an der Position atomic-search. Sie können das Ergebnis benutzen, um Ihr Layout unterschiedlichen Situationen anzupassen.
In Zeile 52 sehen Sie:
<jdoc:include type="modules" name="atomic-search" style="none" />
Das ist ein <jdoc>-Aufruf, der als Namensraum nur in Joomla! existiert. Er wird genutzt, um die HTML-Ausgabe der in den Attributen angegebenen Typen einzufügen. In diesem Fall betrifft dies die Template-Position atomic search. Das style-Attribut nennt sich Modulechrom und kann die folgenden Werte annehmen:
- table – Die Ausgabe wird in einer Tabelle dargestellt.
- horz – Die Ausgabe wird horizontal in einer Zelle innerhalb einer Tabelle dargestellt.
- xhtml – Die Ausgabe wird XHTML-gemäß in <div>-Tags dargestellt.
- rounded – Die Ausgabe wird in einem Format dargestellt, sodass runde Ecken dargestellt werden können (geschachtelte <div>-Tags). Die Klasse des Elements wird von moduletable in module umbenannt.
- none – ohne Formatierung
- outline – die Ausgabe der Positionsvorschau (?tp=1)
- Template-spezifische Styles – Das Beez-Template hat weitere Styles (siehe das Kapitel Angie Radtke über Ihr Beez-Template).
Sie finden eine komplette Liste in der Joomla!-Dokumentation (What is module chrome).
Andere <jdoc>-Typen sind:
<jdoc:include type="head" /> <jdoc:include type="message" /> <jdoc:include type="component" style="none" />
Jede Seite benötigt einen head (Kopfbereich mit Meta-Tags), manchmal eine message (beispielweise eine Nachricht nach dem Speichern) und natürlich eine Komponente. Pro Seite ist es möglich, eine Komponente darzustellen. Die Komponente kann ebenfalls mit Modulechrom umgeben werden.
Die Fehler- und die Druckvorschau-Template-Datei arbeitet genau wie die Haupt-Template-Datei.
CSS-Ordner
Sie finden drei Dateien in diesem Ordner:
- Die Datei css/template.css mit vordefinierten und kommentierten CSS-Anweisungen. Falls Sie das Blueprint-Framework nicht benutzen, müssen Sie ein paar davon auskommentieren. Die Stellen sind entsprechend markiert.
- Die Datei css/template_ie.css ist leer. Sie können hier spezielle CSS-Anweisungen für den Internet Explorer eintragen.
- Die Datei css/template_rtl.css ist ebenfalls leer. Sie können spezielle CSS-Anweisungen für Sprachen angeben, die von rechts nach links geschrieben werden.
Das Blueprint-Framework
Blueprint ist ein CSS-Framework, das erstellt wurde, um Entwicklungszeit zu sparen, und das in allen Browsern laufen soll.
Hier folgen ein paar Sätze aus der readme-Datei.
Willkommen bei Blueprint! Dies ist ein CSS-Framework, das erfunden wurde, um Ihre Entwicklungszeit zu minimieren. Es bietet eine solide Basis für Ihre eigenen CSS-Anweisungen. Blueprint bietet folgende Features:
* ein leicht anzupassenden Grid
* behutsame Typographie
* typografische Basis
* verbessertes Browser CSS Reset
* ein Druck Stylesheet
* leistungsfähige, anpassbare Scripte
* definitiv kein aufgeblähter Code!
Sie finden Demos und Anleitungen auf der Projekt-Website unter http://www.blueprintcss.org/.
Das Atomic-Template ist ein Gerüst für Ihr eigenes Template. Es besteht aus:/htdocs/templates/atomiccomponent.php – das Template für die Druckansichterror.php – das Template für die Fehlerseitefavicon.ico – das Icon der Website (Favicon)index.html –p { margeine leere HTML Datei, die eine weisse Seite darstellt, wenn jemand das Verzeichnis direkt aufruft. Damit wird vermieden, dass die Dateien des Verzeichnisses dem Besucher angezeigt werden. Joomla! Nutzt diese Technik in allen Verzeichnissen.index.php – das Hauptseiten-TemplatetemplateDetails.xml – Die Konfigurationsdatei mit allen Informationen über Dateien, Positionen und Optionen ist notwendig, damit das Template im Template-Bereich angezeigt wird und um später ein installierbares Zip-Archiv zu erzeugen.template_preview.png – das große Template-Vorschaubild, das im Template-Bereich angezeigt wirdtemplate_thumbnail.png – das kleine Template-Vorschaubild, das im Template-Bereich angezeigt wird/htdocs/templates/atomic/cssDas Verzeichnis für CSS-Dateien/htdocs/templates/atomic/htmlDas Verzeichnis für Override-Dateien. Atomic bietet bereits einige Override-Dateien für Module an./htdocs/templates/atomic/imagesDas Verzeichnis für Grafiken und Fotos/htdocs/templates/atomic/jsDas Verzeichnis für JavaScript-Dateien/htdocs/templates/atomic/languagesDas Verzeichnis für Sprachdateien. Atomic enthält bereits die Sprachdateien für Englisch.Die Haupt-Template-Datei index.phpDer Name dieser Layout-Datei muss index.php lauten, da Joomla! nach eingefügten <jdoc>- und PHP-Befehlen sucht. Die notwendigen HTML-Auszeichnungen sind bereits eingebaut und kommentiert. Sie können den Inhalt der Datei Ihren Bedürfnissen anpassen.Lassen Sie uns kurz die Datei durchgehen, um einen Überblick zu erhalten:In Zeile 24 können Sie sich entscheiden, ob Sie mit dem Blueprint-CSS-Framework arbeiten wollen oder nicht. (Zu Blueprint erfahren Sie weiter unten mehr.)In Zeile 50, 56, 62 und weiteren Zeilen können Sie sehen, dass das Template Positionen mit besonderen Namen (atomic-search, atomic-topmenu, ...) zur Verfügung stellt. Wenn Sie diese Namen benutzen wollen, müssen Sie Ihre Module den vorgegebenen Positionen zuordnen. Wenn Sie die Namen ändern wollen, können Sie das in der templateDetails.xml-Datei tun.In Zeile 42 sehen Sie den Ausdruck:echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/template.jsDie Wert von baseurl (Name des Joomla!-Verzeichnisses) und der Name Ihres Templates sind Joomla! bekannt, und Sie können sie bei Bedarf abrufen.In Zeile 48 sehen Sie:echo $app->getCfg('sitename');Dieser Ausdruck liefert den Namen Ihrer Website.In Zeile 50 sehen Sie:if($this->countModules('atomic-search')) ...Dieser Ausdruck zählt die Module an der Position atomic-search. Sie können das Ergebnis benutzen, um Ihr Layout unterschiedlichen Situationen anzupassen.In Zeile 52 sehen Sie:<jdoc:include type="modules" name="atomic-search" style="none" />Das ist ein <jdoc>-Aufruf, der als Namensraum nur in Joomla! existiert. Er wird genutzt, um die HTML-Ausgabe der in den Attributen angegebenen Typen einzufügen. In diesem Fall betrifft dies die Template-Position atomic search. Das style-Attribut nennt sich Modulechrom und kann die folgenden Werte annehmen:table – Die Ausgabe wird in einer Tabelle dargestellt.horz – Die Ausgabe wird horizontal in einer Zelle innerhalb einer Tabelle dargestellt.xhtml – Die Ausgabe wird XHTML-gemäß in <div>-Tags dargestellt.rounded – Die Ausgabe wird in einem Format dargestellt, sodass runde Ecken dargestellt werden können (geschachtelte <div>-Tags). Die Klasse des Elements wird von moduletable in module umbenannt.none – ohne Formatierungoutline – die Ausgabe der Positionsvorschau (?tp=1)Template-spezifische Styles – Das Beez-Template hat weitere Styles (siehe das Kapitel Angie Radtke über Ihr Beez-Template).Sie finden eine komplette Liste in der Joomla!-Dokumentation (What is module chrome).Andere <jdoc>-Typen sind:<jdoc:include type="head" /><jdoc:include type="message" /><jdoc:include type="component" style="none" />Jede Seite benötigt einen head (Kopfbereich mit Meta-Tags), manchmal eine message (beispielweise eine Nachricht nach dem Speichern) und natürlich eine Komponente. Pro Seite ist es möglich, eine Komponente darzustellen. Die Komponente kann ebenfalls mit Modulechrom umgeben werden.Die Fehler- und die Druckvorschau-Template-Datei arbeitet genau wie die Haupt-Template-Datei.CSS-OrdnerSie finden drei Dateien in diesem Ordner:Die Datei css/template.css mit vordefinierten und kommentierten CSS-Anweisungen. Falls Sie das Blueprint-Framework nicht benutzen, müssen Sie ein paar davon auskommentieren. Die Stellen sind entsprechend markiert.Die Datei css/template_ie.css ist leer. Sie können hier spezielle CSS-Anweisungen für den Internet Explorer eintragen.Die Datei css/template_rtl.css ist ebenfalls leer. Sie können spezielle CSS-Anweisungen für Sprachen angeben, die von rechts nach links geschrieben werden.Das Blueprint-FrameworkBlueprint ist ein CSS-Framework, das erstellt wurde, um Entwicklungszeit zu sparen, und das in allen Browsern laufen soll.Hier folgen ein paar Sätze aus der readme-Datei.Willkommen bei Blueprint! Dies ist ein CSS-Framework, das erfunden wurde, um Ihre Entwicklungszeit zu minimieren. Es bietet eine solide Basis für Ihre eigenen CSS-Anweisungen. Blueprint bietet folgende Features:* ein leicht anzupassenden Grid* behutsame Typographie* typografische Basis* verbessertes Browser CSS Reset* ein Druck Stylesheet* leistungsfähige, anpassbare Scripte* definitiv kein aufgeblähter Code!Sie finden Demos und Anleitungen auf der Projekt-Website unter http://www.blueprintcss.org/.


4 Kommentare
Hallo, lieber Hagen... ich
Hallo, lieber Hagen... ich habe mir ebenfalls, wie in deinem Video beschrieben ein atomic-based Template angelegt... und ich muss sagen... ES geht doch... nun ja, bei der Ordner erstellung und der inhaltskopie vom atomic-ordner mit entsprechender änderung der templateDetails.xml. Beschriebst du dann via phpmyadmin manuell zu installieren. NEE... im Joomla-backend; bei Erweiterungen --> Überprüfen gibt es ein Symbol, so ein 3/4 in blau, geformter Pfeil... mit Überprüfen... darauf klicken... und das neue Template sowie das style wird dann installierbar ;)
Danke für die einführung und zumindest ein beginn der eigenen Template-Entwicklungsmöglichkeit.
Ich hoffe es wird bals ein ausführliches und aufwändiges Video-Tut geben das sich ausschließlich mit Templates befassen würde (Parameter... etc... erweiterungsmöglichkeiten selber hineinzuprogrammieren etc) wäre echt Toll...
Mit freundlichem Gruß
Danke für den Hinweis.Ja, ein
Danke für den Hinweis.
Ja, ein Template Video wäre gut!
Es gibt übrigens ein Buch von Angie. Vielleicht hilft dir das?
Joomla!-Templates entwickeln: Barrierefreie & attraktive Designs von Konzept bis Umsetzung
hmm... ups, habe eben noch
hmm... ups, habe eben noch festgestellt, das trotzdem es scheinbar im backend verfügbar ist, leider aber nicht in der DB :( also scheint echt noch ne verbesserung oder bug - report erforderlich zu sein?
also im endeffekt dann doch wie erstmal von dir beschrieben via phpmyadmin zufügen... danke trotzdem, auch das du so schnell geantwortet hast
Mfg
auweia... echt sorry... kein
auweia... echt sorry... kein bug... mein Fehler... ich hatte versehendlich im _bak bereich geguckt gehabt, und da tauchte das template natürlich nicht auf!
echt mein versehen, also der installer funktioniert zumindest bei mir dann doch problemlos und installiert dementsprechend auch den von Hagen beschriebenden händischen weg, problemlos.
alles gut ;) nun erstmal ein erfolgreich erstelltes atomic-basiertes template hat und auch einen eigen definierten bereich... könnte man trotzdem irgendwie einen direkteren nicht so öffentlichen kontakt zu dir (Hagen) haben? ein paar kleinigkeiten wären bestimmt noch interessant zu erfahren ;)
verbesserungsvorschläge bzw. korrekturen für Joomla! 1.6...
oder sollte man sich echt schon voll auf 1.7 konzentrieren?
ich weiss nicht...
Lieben dank... das Video hat mich jedenfalls sehr weit gebracht selbst mit ein paar kleinen umwegen oder kleineren Fehlrn?!... naja...
Mit freundlichem Gruß
Kommentar hinzufügen