Joomla! 1.6

Anhang

Verfasst von Hagen Graf am 24. February 2011 - 22:55

Dieses Buch war ein Anfang. Ich hoffe, es hat Ihnen geholfen. Meine Absicht war es, mit Ihnen eine Art Führung durch Joomla! zu unternehmen. Nicht alle möglichen Themen wurden behandelt, weil das einfach zu viel geworden wäre.

Ich glaube, wir brauchen noch ein Entwickler- und ein Template-Designer-Buch, um tiefer in diese Themen einzusteigen. Aber wer weiß? Mal sehen, was die Zukunft bringt!

Was gibt es für Sie an nützlichen Ressourcen, um mehr über Joomla! zu lernen oder mit der Community in Kontakt zu kommen?

Community

Wie auf der Rückseite dieses Buches beschrieben,wird Joomla! von einer weltweiten Community unterstützt. Wenn Ihnen die Idee gefällt, werden Sie ein Teil dieser Community, und kommen Sie zu uns!

Dokumentation

Sicherheits-Checkliste

Joomla!-Erweiterungen

Joomla!-Templates

  • Es gibt keinen zentralen Platz für freie Templates.
  • Es gibt keinen zentralen Platz für kommerzielle Templates.

Aber egal, es gibt viele Template-Clubs und andere Designer, die Joomla!-Templates entwerfen. Suchen Sie einfach im Web, und Sie werden etwas Passendes für Ihre Zwecke finden.

Veranstaltungen

  • Joomla! ist bekannt für seine Joomla!-Tage.
    Ein Joomla!-Tag ist eine ein- oder mehrtäge Veranstaltung, die von und für die Community organisiert wird.
    Eine Liste aller Joomla!-Tage finden Sie unter http://community.joomla.org/events.htm.
  • Es gibt eine internationale Joomla!-Konferenz in Europa mit dem Namen jandbeyond. Informationen dazu finden Sie unter http://jandbeyond.org/.

Die Zukunft

  • Die Community plant einen sechsmonatigen Release-Zyklus, basierend auf den Ideen, die im Joomla!-Ideen-Pool vorgeschlagen werden.
  • Die nächsten Releases sind Joomla! 1.7 im Juli 2011 und Joomla! 1.8 in Januar 2012. Aber wie immer kommt es natürlich darauf an, wie die Community ihre eigenen Ideen implementiert!
  • Das Joomla!-Entwickler-Netzwerk (http://developer.joomla.org/) sucht immer Leute wie Sie. :-)

Training

Commercial Support

Hosting

Zertifikate

Momentan gibt es keine Möglichkeit einer Joomla!-Zertifizierung.


Sie sehen, es gibt genug Arbeit für Sie, Ihre Freunde und den Rest der Welt. :-)

 

Suchmaschinenoptimierung

Verfasst von Hagen Graf am 24. February 2011 - 15:58

PerpignanJeder Betreiber einer Website möchte normalerweise auf der ersten Seite der Suchergebnisse von Suchmaschinen wie Google und sozialen Netzwerken wie Facebook gefunden werden. Leider ist auf der ersten Seite der Suchergebnisse nicht genug Platz für alle Websites und Firmen dieser Welt, und die Nutzer der Suchmaschinen würden vermutlich auch das Vertrauen in die Suchmaschine verlieren, wenn es nur durch Suchmaschinenoptimierung einer Website möglich wäre, dort so prominent zu erscheinen.

Zu diesem Thema hat sich eine ganze Beratungsindustrie herausgebildet, die ihre Optimierungsdienste anbietet.

Weiterlesen

Ein eigenes Template, basierend auf Atomic

Verfasst von Hagen Graf am 23. February 2011 - 15:33

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:

  1. 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.
  2. Die Datei css/template_ie.css ist leer. Sie können hier spezielle CSS-Anweisungen für den Internet Explorer eintragen.
  3. 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/.

Overrides

Verfasst von Hagen Graf am 22. February 2011 - 22:17

Sie haben sicherlich schon Template Styles erstellt, CSS-Dateien und die Hauptseite Ihres Templates verändert, aber irgendwie sind Sie immer noch mit dem Ergebnis unglücklich? :-) Das ist die perfekte Zeit, um einmal über Overrides zu sprechen. In Joomla! haben wir davon zwei Sorten: Template Overrides und Alternative Layouts.

Template Overrides

Nehmen wir einmal an, Sie wollen das Layout der Suchergebnisseite verändern. Eine Komponente wie die Suchkomponente hat dafür ein Standard-Template-Layout, das in der Datei /httpdocs/components/com_search/views/search/tmpl/default.php gespeichert ist. Diese Datei ist dafür verantwortlich, dass die Suchergebnisseite so aussieht, wie sie aussieht. Fügen Sie einfach ein paar Worte zu dieser Datei hinzu, und Sie werden sofort ein Resultat sehen! Fügen Sie beispielsweise in Zeile 13

<strong>Ich habe etwas verändert :-) </strong>

hinzu, und schauen Sie, was passiert (siehe Abbildung 1).

Veränderungen an der HTML Ausgabe

Abbildung 1: Veränderungen an der HTML-Ausgabe

Das Resultat ist gut für Ihre Motivation: zum einen, weil es so zu erzielen einfach war, und zum anderen, weil es in jedem Template funktioniert. Allerdings ist es schlecht für Ihre Reputation, weil Sie gerade Core-Quellcode verändert haben. Mit dem nächsten Joomla!-Update sind Ihre Änderungen wieder veschwunden!

Eine bessere Variante wäre, Template Overrides in jedem Template einzeln zu nutzen. Kopieren Sie die veränderte Datei in Ihren Template-Ordner, und zwar an diese Stelle: /httpdocs/templates/[template_name]/html/com_search/search/default.php, und entfernen Sie Ihre Änderungen in der Originaldatei. Das Ergebnis auf der Website ist das Gleiche, aber hinter den Kulissen haben Sie die Originaldatei  .../default.php mit dem von Ihnen gewünschten Inhaltslayout überschrieben, ohne den ursprünglichen Quellcode zu verändern – gut gemacht!

Dieses System wurde im Jahre 2007 mit dem Erscheinen von Joomla! 1.5 eingeführt und funktioniert auch heute noch sehr gut.

Alternative Layouts

Mit Joomla! 1.6 haben die Overrides eine Erweiterung mit dem Namen Alternative Layouts. Ich bin sicher, Sie haben bereits das Feld Alternatives Layout in den Bearbeitungsformularen von Beiträgen, Modulen und Kategorien gesehen (siehe Abbildung 2).

Alternatives Layout in einem Beitrag

Abbildung 2: Alternatives Layout in einem Beitrag

Warum brauchen wir alternative Layouts? Stellen Sie sich vor, Sie sind Administrator oder Webmaster, und ein Template sieht drei alternative Layouts für einen Beitrag vor. Manchmal ist es "normaler Beitrag", manchmal soll ein Beitrag wie ein Produkt aussehen, weil Sie ewtas verkaufen wollen, und manchmal wie eine Buchseite. Sie müssen nur noch wählen, welches Layout Sie benutzen wollen. Das hört sich wie ein tolles Feature an, und natürlich ist es das auch.

Das Prinzip ist das Gleiche wie bei den Template Overrides. Sie müssen einen Ordner mit dem gleichen Namen wie die Erweiterung und einen Unterordner für die View erstellen. Es gibt allerdings zwei Unterschiede:

  1. Der Name der Datei muss natürlich anders sein als default.php, da dieser Name bereits für die Template Overrides vergeben ist.
  2. Das alternative Layout wird natürlich nicht automatisch verwendet.

Zusätzlich zum alternativen Layout gibt es eine Möglichkeit, zusätzliche Menüeintragstypen zum Layout zu erstellen (siehe Abbildung 3) und die Optionen des Beitrags zu beeinflussen. Dafür muss eine XML-Datei mit gleichem Namen wie die Layout-Datei erstellt werden.

Zusätzliche Menüeintragstypen

Abbildung 3: Zusätzliche Menüeintragstypen

Die Erzeugung dieser Dateien ist kein Einsteigerthema mehr, aber ich bin sicher, dass Drittanbieter von Templates schnell von den neuen Möglichkeiten Gebrauch machen werden (siehe Abbildung 4).

Zusätzliche Layouts in einem Beitrag

Abbildung 4: Zusätzliche Layouts in einem Beitrag

 

Vorhandene Templates anpassen

Verfasst von Hagen Graf am 22. February 2011 - 15:14

Wenn Sie dieses Kapitel lesen, nehme ich an, dass Sie bereits einen Template Style erstellt und alle verfügbaren Optionen ausprobiert haben, aber trotzdem mehr Möglichkeiten haben wollen. Ich nehme ebenfalls an, dass Sie die beiden Abkürzungen HTML und CSS kennen. Wenn nicht, werfen Sie einen Blick in die Wikipedia zu HyperText Markup Language (HTML) und Cascading Styles Sheets (CSS).

In Joomla! können Sie alle vom Template verwendeten CSS-Dateien über die Administration ändern. Wenn Sie beispielsweise Änderungen im Beez2-Template vornehmen wollen, greifen Sie über Erweiterungen → Templates → Templates darauf zu und klicken auf den Link beez_20 Details. Jetzt sehen Sie alle änderbaren Dateien (siehe Abbildung 1).

Beez2: Customize Template

Abbildung 1: Beez2-Template anpassen

Die editierbaren CCS-Dateien sind die Dateien, die sich im Dateisystem im Ordner htdocs/templates/[template_name]/css befinden. Wenn Sie auf den verlinkten Namen klicken, gelangen Sie in ein Formular, in dem Sie den Inhalt der Datei mit dem CodeMirror-Editor verändern können. Neben den CSS-Dateien können Sie auch die drei wichtigsten Template-Dateien verändern:

  • Hauptseite (Main page)
    htdocs/templates/[template_name]/index.php
  • Fehlerseite (Error page)
    Wenn ein Fehler beim Aufruf einer Joomla!-Seite auftritt, wird für die Seite dieses Template benutzt:
    htdocs/templates/[template_name]/error.php
  • Druckansicht (Print view)
    Dieses Template ist für die Druckansicht zuständig:
    htdocs/templates/[template_name]/component.php

Es gibt weitere Dateien, in denen die Core Overrides gespeichert sind. Sie befinden sich im Ordner htdocs/templates/[template_name]/html. Die Core Overrides sind direkt aus dem Backend nicht editierbar.

Die Veränderungen, die Sie hier vornehmen, ändern die Quelldateien von Beez2. Sie sollten das bedenken, falls Updates anstehen.

Inhalt abgleichen