Drupal 6: Websites entwickeln und verwalten mit dem Open Source-CMS

Hagen Graf Websites entwickeln und verwalten mit dem Open Source-CMS An imprint of Pearson Education München • Boston...
Author:  Hagen Graf

9 downloads 1340 Views 16MB Size Report

This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!

Report copyright / DMCA form

'; return $output; }

Zunächst einmal war es schwer, diese Funktion im Quellcode der Datei comment.module zu finden. Und nach dem Finden musste man sie immer noch verstehen, bevor man sie ändern und anpassen konnte.

250

10.4 Veränderungen gegenüber Drupal 5

Das hat sich bei Drupal 6 enorm vereinfacht. Bei Drupal 6 findet man in dem Verzeichnis modules/comment/ eine Datei namens comment.tpl.php (Listing 10.4). Listing 10.4: aus dem Drupal 6-Core, die Datei comment.tpl.php (modules/comment/comment.tpl.php)
new): ?> <span class="new">



251

10 Verändern Sie das Design – theming



Die Datei comment.tpl.php von Drupal 6 macht das gleiche wie die Funktion theme_comment() bei Drupal 5. Die Struktur der neuen tpl.php-Datei von Drupal 6 ist allerdings um Welten leichter zu verstehen. Der Kommentar am Anfang der Datei listet zusätzlich alle zur Verfügung stehenden Variablen auf. Auch das Überschreiben der Ausgabe ist wesentlich einfacher. Man muss lediglich diese Datei in den Ordner seines eigenen Themes kopieren und dort anpassen. Ein Themer, der sich mit XHTML auskennt und weiß, wie er die XHTML-Struktur der Kommentare aufbauen möchte, kann die Platzhalter einfach in seine neue Struktur einbauen, ohne Theme-Funktionen erst suchen zu müssen und diese anschließend in einer PHP-Datei zu überschreiben.

10.5

Erstellen eines eigenen Themes in Drupal

Der erste Schritt bei der Erstellung eines eigenen Themes ist der schwerste. Wo soll man anfangen? Wie schon angesprochen, muss man beachten, dass ein DrupalTheme oft für Frontend und Backend eingesetzt wird, also die Anzeige der ReiterMenüs sowie der tabellarischen Übersichten für Module, Themes, Blöcke enthalten muss. Wie Sie ein separates Verwaltungs-Theme konfigurieren, erfahren Sie in Abschnitt 7.12, Verwaltungs-Theme. Eine Möglichkeit ist, ein bestehendes Theme abzuändern. Insbesondere dann, wenn man lediglich Farben, Titelbilder oder Logos usw. ändern möchte, empfiehlt sich diese Variante. Möchte man hingegen Drupal ein ganz eigenes Gewand verpassen, empfiehlt es sich, entweder bei Null anzufangen oder ein Theme zu verwenden, das von vornherein darauf ausgelegt ist, angepasst zu werden. Dafür ist vor allem das Zen-Theme7 geeignet, da der Quelltext komplett kommentiert ist. Hinweis Wenn Sie bereits mit dem CSS-Framework YAML von Dirk Jesse vertraut sind, dann sollten Sie sich unbedingt das Projekt YAML für Drupal von Alexander Hass einmal anschauen.  YAML allgemein: http://yaml.de/  YAML für Drupal: http://www.yaml-fuer-drupal.de

7

drupal.org/project/zen

252

10.5 Erstellen eines eigenen Themes in Drupal

10.5.1

Ein Drupal-Theme »von Null an«

Mit Drupal 6 stehen Werkzeuge zur Verfügung, die das Erstellen von eigenen Themes extrem erleichtern.

10.5.2

Das Modul Devel: Firebug für Drupal-Themer

Das wichtigste dieser Werkzeuge ist das Devel-Modul mit dem mitgelieferten Theme developer-Modul8 (Beschreibung siehe Kapitel 13, Nützliche Module). Hinweis Sie müssen das Modul Admin Menu deaktivieren, damit das Theme Developer-Modul problemlos funktioniert.

Positionieren Sie den DEVELOPMENT-Block in der rechten Seitenleiste (Abbildung 10.4).

Abbildung 10.4: Platzierung des Development-Blocks

10.5.3

Start in drei Schritten

In drei Schritten erstellen Sie ein eigenes Theme, das Sie über die Oberfläche von Drupal aktivieren können. Für Ihr eigenes Theme ist lediglich eine themename.info-Datei nötig.

8

http://drupal.org/project/devel

253

10 Verändern Sie das Design – theming

Schritt 1 Erstellen Sie einen neuen Ordner mit dem Namen neuestheme für Ihr Theme unter sites/all/themes.

Schritt 2 Erstellen Sie eine neue Datei mit dem Namen neuestheme.info mit dem Inhalt wie in Listing 10.5 im neuen Verzeichnis sites/all/themes/neuestheme: Listing 10.5: Inhalt der Datei neuestheme.info ; $Id:$ name = Neues Theme description = Unser neues Drupal 6 Theme. core = 6.x engine = phptemplate

Schritt 3 Aktivieren Sie Ihr neues Theme auf der Theme-Administrationsseite (Abbildung 10.5).

Abbildung 10.5: Aktivieren des neuen Themes Drei Schritte waren genug, und Sie haben ein eigenes Theme erstellt. Zugegeben, das Design entspricht sicherlich noch nicht Ihren Erwartungen, aber die nächsten Schritte schaffen schnell Abhilfe.

10.5.4

Die Website im neuen Theme

Wechseln Sie in Ihrem neuen Theme zur Block-Administrationsseite und überprüfen Sie, ob die Blockeinstellungen, die wir zuvor in Garland vorgenommen haben, für das neue Theme übernommen worden sind.

254

10.5 Erstellen eines eigenen Themes in Drupal

Hinweis Die Sidebars (Seitenleisten) sind noch nicht platziert, deshalb finden Sie das Menü noch unterhalb des Content-Bereichs unter der Überschrift DEVELOPMENT.

Aktivieren Sie nun das Theme Developer-Modul durch einen Klick auf den Link ENABLE THEME DEVELOPER im Development-Block. In der linken unteren Ecke sehen Sie nun eine Checkbox mit dem Namen THEMER INFO.

Abbildung 10.6: Aktivierte »Themer info«-Checkbox Durch das Ankreuzen der Checkbox THEMER INFO stehen Ihnen detaillierte Informationen über Ihr neues Theme zur Verfügung. Oben rechts erscheint eine Infobox, die uns mitteilt, dass wir durch einen Klick auf ein Element die zugehörigen TemplateDateien bzw. Theme-Funktionen angezeigt bekommen.

10.5.5

Welche Datei ist für was verantwortlich?

Zunächst wollen wir wissen, welche Template-Datei für die Ausgabe unseres Themes verantwortlich ist. Wir klicken auf ein beliebiges Element, z. B. auf den Link HOME unterhalb des Seitentitels Drupal (Abbildung 10.7). Im Fenster oben rechts erscheint nun die Information zu dem eben angeklickten Element. Die Funktion, die für die Ausgabe der Breadcrumb-Navigation zuständig ist, theme_breadcrumb(), wird eingeblendet. Für uns interessant ist aber zunächst die Zeile darüber. Hier wird die »zuständige« Template-Datei angezeigt. In unserem Fall ist das die Datei page.tpl.php.

255

10 Verändern Sie das Design – theming

Abbildung 10.7: Info zur Breadcrumb-Navigation durch Klick auf den Link »Home« Aber woher nimmt Drupal diese Datei? Wir haben doch noch keine Datei mit diesem Namen in unserem Theme! Drupal nutzt eine Standard-Datei, und ein einfacher Klick auf den Dateinamen in der THEMER INFO-Anzeige verrät uns, wo wir diese Datei finden (Abbildung 10.8).

Abbildung 10.8: Info zur verwendeten page.tpl.php Die THEMER INFO-Anzeige gibt an, dass die page.tpl.php-Datei im Verzeichnis modules /system/page.tpl.php zu finden ist. Für das Anpassen der Anzeige ist es zunächst aber gar nicht nötig, diese Datei zu überschreiben. Die obige Erklärung dient an dieser Stelle dazu, das Prinzip zu beschreiben, nach dem Drupal immer vorgeht. Drupal sucht zunächst im aktuellen Theme-Verzeichnis nach entsprechenden Template-Dateien oder Theme-Funktionen, die wir eventuell in der template.php-Datei überschrieben haben. Wenn dort nichts Entsprechendes gefunden wird, nimmt Drupal die im Drupal-Core enthaltenen Standard-Dateien. Und das Theme DeveloperModul informiert uns darüber, wo diese Dateien zu finden sind.

256

10.5 Erstellen eines eigenen Themes in Drupal

10.5.6

Die HTML-Struktur der Seite

Wie kommen wir nun mit unserem Theme weiter? Zuerst deaktivieren wir das Theme Developer-Modul durch einen Klick auf den Link DISABLE THEME DEVELOPER im DEVELOPMENT-Block. Dieser Schritt ist nötig, weil das Theme Developer-Modul den Quelltext leicht umschreibt. Ein Blick mit der Firebug9-Funktion INSPECT ELEMENT in den Quelltext unserer Anzeige im Browser lässt schnell erkennen, warum unser Theme – nennen wir es mal – »unbefriedigend« aussieht. Wie im rechten Teil der Firebug-Anzeige zu erkennen ist, wird noch keine CSS-Datei für die wichtigsten Elemente unserer Seite wie oder '; } } ?>

Um zu verstehen, was die Funktion macht, ist ein klein wenig Wissen in PHP nötig. Die Funktion nimmt ein Array namens $breadcrumb und trennt die einzelnen Elemente in der Ausgabe durch das Zeichen ». Sogar die einzelnen Elemente des Arrays können wir uns durch einen einfachen Klick auf die FUNCTION ARGUMENTS in der THEMER INFO ansehen (Abbildung 10.12)! Wollen wir ein anderes Zeichen für die Trennung der einzelnen Breadcrumb-Links verwenden (z. B. das Pipe-Zeichen |), müssen wir diese Funktion überschreiben. Dazu erzeugen wir eine neue Datei namens template.php in unserem Theme-Verzeichnis (sites/all/themes/neuestheme) und kopieren die obige Funktion in die Datei, wobei wir die Funktion umbenennen. Auch hierfür macht uns das Theme Developer-Modul Vorschläge (Candidate function names): phptemplate_breadcrumb() oder noch spezifischer neuestheme_breadcrumb()(Abbildung 10.12). Damit ergibt sich folgender Inhalt für unsere Datei template.php (Listing 10.8):

261

10 Verändern Sie das Design – theming

Listing 10.8: template.php (ohne PHP closing-tag! »?>«) '. implode(' | ', $breadcrumb) .'
'; } }

Abbildung 10.12: Candidate function names Nach diesem Muster kann man grundsätzlich jede erdenkliche Theme-Funktion seinen Erfordernissen anpassen.

10.7

Veröffentlichen eines Themes auf Drupal.org

Möglicherweise haben Sie ein Theme entwickelt, das Sie der Community zur Verfügung stellen möchten. Drupal lebt von Entwicklern, die ihr Wissen und ihre Arbeit der Drupal-Community zur Verfügung stellen. Dabei widerspricht der Open SourceGedanke in keinster Weise einem wirtschaftlichen Interesse bei der Arbeit mit Drupal. Die Drupal-Agentur Lullabot10 ist ein gutes Beispiel. Das Lullabot-Team um Matt Westgate und Jeff Robins hat große Community-Seiten für MTV UK und Sony BMG umgesetzt. Lullabot veranstaltet neben den kostenfreien Podcasts und Tutorials auf lullabot.com auch regelmäßige kostenpflichtige DrupalWorkshops in den USA. Viele der gefragtesten Drupal-Module sind durch die Arbeit an großen kommerziellen Webseiten entstanden. Und auch die Veröffentlichung dieser Module muss nicht ganz uneigennützig geschehen. Eigene Module und Themes zu veröffentlichen bedeutet nicht nur, sein Wissen kostenlos weiterzugeben. Es ist eine ausgezeichnete Möglichkeit, Feedback aus der ganzen Welt zu erhalten. Feedback von Usern mit unterschiedlichsten Betriebssystemen, Browsern, Ideen und Verbesserungsvorschlägen. 10 http://lullabot.com/

262

10.7 Veröffentlichen eines Themes auf Drupal.org

10.7.1

Drupal-Entwickler nutzen CVS

Um es Entwicklern weltweit zu erlauben, an einem Projekt wie Drupal zu arbeiten, verwendet drupal.org ein Versionskontroll-System. So ein System protokolliert alle Änderungen, die an dem Software-Quelltext durch die Entwickler vorgenommen werden. Das auf drupal.org verwendete System heißt CVS (Concurrent Versions System).11 Jede Kommunikation bezüglich der Weiterentwicklung von Themes und Modulen findet in englischer Sprache statt. Einen Lesezugriff auf alle Drupal-Projekte, -Module und -Themes hat jeder auf http://cvs.drupal.org (Abbildung 10.13).

Abbildung 10.13: http://cvs.drupal.org Hier kann man sich den neusten Drupal-Code »taufrisch« ansehen. Wählt man den STICKY TAG MAIN, kann man beispielsweise einen Blick auf den Code der nächsten Generation werfen, der irgendwann als Drupal 7 veröffentlicht werden wird. Mit STICKY TAG DRUPAL-6 gelangt man zu den aktuellen Security- und Bug-fixes, die als Version 6.3, 6.4, 6.5 usw. von Zeit zu Zeit veröffentlicht werden.

10.7.2

Wie werde ich Drupal-Entwickler?

Auf drupal.org kann man sich Drupal nicht nur runterladen, sondern selbst als Entwickler tätig werden. Die folgende Auflistung ist ein kurzer Überblick der Voraussetzungen:  Um komfortabel mit CVS zu arbeiten, empfiehlt sich die Installation eines CVS-

Clients. Sehr zu empfehlen für Windows-Nutzer ist TortoiseCVS (tortoisecvs.org).  Auch ohne einen CVS-Account auf drupal.org kann man TortoiseCVS für den rei-

nen CVS-Lesezugriff nutzen, um den neusten Code herunterzuladen (CVS-CHECKOUT): sei es der neueste Drupal-Core, Module oder Themes. 11 http://de.wikipedia.org/wiki/Concurrent_Versions_System

263

10 Verändern Sie das Design – theming

 Machen Sie sich mit den (vermeintlichen) Insiderausdrücken vertraut: »CVS-Com-

mit«, »CVS-Checkout«, »CVS-Tags«, »CVS-Update« klingen wichtig oder kompliziert, sind aber im Prinzip nichts anderes als »Speichern«, »Öffnen« oder »Speichern unter…« bei einem normalen Text-Editor.  Um eigene Projekte anzulegen, müssen Sie zunächst einen CVS-Account auf

drupal.org/cvs-application beantragen. Davor empfiehlt sich die Lektüre der CVSEinführung auf drupal.org/handbook/cvs. Sobald Sie ein drupal.org-Administrator für einen CVS-Account freigeschaltet hat, stehen Ihnen auf drupal.org neue Menüpunkte zur Verfügung. Jetzt können Sie ein neues Projekt erstellen (Abbildung 10.14).

Abbildung 10.14: Erstellen eines Projekts auf drupal.org Ein Projekt auf drupal.org zu verwalten ist größtenteils learning by doing. Die Erklärungen im Handbuch drupal.org/handbook/cvs bieten einen sehr guten Überblick. Nützliche Videocasts finden Sie hier:  http://lullabot.com/videocast/install_cvs_mac_osx  http://lullabot.com/videocast/install-cygwin-windows-xp  http://lullabot.com/create-module-release

264

10.7 Veröffentlichen eines Themes auf Drupal.org

Wer ein Projekt auf drupal.org verwaltet, übernimmt eine gewisse Verantwortung. Jedes Projekt besitzt eine Issues-Liste. Hier können Nutzer Fehler zu den Projekten melden (bug reports), sich neue Funktionen wünschen (feature request) oder einfach nur um Hilfe bitten (support request). Allerdings ist das Engagement völlig freiwillig. Mein Engagement auf Drupal hat mir viel Arbeit, aber auch viel Freude, Kontakte und Befriedigung eingebracht. Hinweis Informationen zum Autor: Jochen Meyer ist als Apotheker im Marketing tätig. Web-Entwicklung war und ist seine große Leidenschaft. In den letzten 10 Jahren war er an der Entwicklung und Betreuung vieler kleiner und großer Online-Projekte beteiligt. Seit Januar 2007 betreibt er zusammen mit Tobias Christian die Agentur forward-media.de, die sowohl im Printals auch Online-Bereich kreative Lösungen entwickelt. Weblinks:  http://www.forward-media.de

(Printwerbung,

Web-Entwicklung,

Drupal-Consulting)  Aktuellstes Projekt: http://www.iwanttospeak.net (Community-Pro-

jekt: Sprachen lernen mit Muttersprachlern)  http://www.kletterfotos.de (Private Fotoseite: Landschaft, Klettern)  http://www.jochenmeyer.info (Auszug aus eigenen Projekten)

265

11

Content Construction Kit (CCK)

Das Modul CCK hat eine atemberaubende Karriere hinter sich. Grundsätzlich war die Idee zu diesem Modul aus der Notwendigkeit geboren, eigene Inhaltstypen mit eigenen Felder zu erzeugen. In Drupal 4.7 begann CCK seinen Siegeszug, löste das FlexinodeModul ab und konnte tatsächlich eigene Inhaltstypen mit zusätzlichen Feldern erstellen. Die Idee kam so gut an, dass bereits in Drupal 5 die Erzeugung eigener Inhaltstypen in den Drupal-Core wanderte. CCK sorgt weiterhin für zusätzliche Felder. Und diese zusätzlichen Felder haben es in sich! Außer Feldern für Text, Links, E-Mail, Verweisfelder auf andere Inhalte und Benutzer gibt es in Drupal 5 mittlerweile 153 Module, die auf CCK aufbauen und das Modul erweitern. Darunter finden sich Felder für Datumswerte, Bilder, Videos, Gitarrenakkorde, Bildergalerien etc. Für Drupal 6 liegt CCK momentan in der Beta-Version vor. Bis zum Erscheinen des Buches wird es sicherlich ein stabiles Release geben.

11.1

Ein Beispiel

Lassen Sie uns anhand eines einfachen Beispiels die Funktionsweise von CCK durchspielen. Oft werden auf Websites Produkte beschrieben. Das kann im Rahmen eines Kataloges geschehen oder auch in einem Online-Shop. Wenn Sie beispielsweise eine Firma sind, die etwas vermittelt oder verkauft, beispielsweise Immobilien, Autos, LKW, Boote, Flugreisen, Kamine, Seminare, Studiengänge oder was auch immer, dann haben Sie es mit strukturierten Daten zu tun. Bleiben wir mal beim Auto. Stellen Sie sich vor, Sie sind Autohändler und haben zwei Standorte, an denen Autos stehen können. Die Autos, die Sie verkaufen, sind neu oder gebraucht, Sie haben zwei Verkäufer und eine Verkäuferin, Sie arbeiten mit mehreren Banken zwecks Finanzierung zusammen und ... Ich höre an der Stelle mal auf, dieses Szenario kommt oft vor, und Sie wissen bestimmt, worauf ich hinaus will. Lassen Sie uns eine vereinfachte Variante einer entsprechenden Website mit CCK erstellen. Wir brauchen mindestens:  ein Eingabeformular für die Daten eines Standorts (Name, Anfahrtsbeschreibung)  ein Eingabeformular für die Daten eines Fahrzeugs (Typ, Hersteller, Beschreibung,

Preis, zuständiger Verkäufer, Standort). Die verfügbaren Standorte und die zuständigen Verkäufer sollen auswählbar sein.

11 Content Construction Kit (CCK)

Wenn Sie so etwas mit einem herkömmlichen CMS zu lösen versuchen, bekommen Sie schnell Probleme bzw. haben Programmieraufwand. Oft wird dann versucht, mit Microsoft Access oder Excel eine Liste zu erstellen, die man exportiert und auf die Website stellt. Aber das hat jetzt eine Ende!

11.2

Installation der notwendigen Module

Für das Beispiel benötigen wir zwei Module, das CCK-Modul und das IMCEIMAGE1Modul. Das zweite Modul erweitert CCK und taucht auch in der Modulliste in dessen Bereich auf. Ich benutze es, weil wir schon den IMCE-Dateimanager in den Editor integriert haben (siehe Abschnitt 8.4, IMCE: Eine eigene Medienbibliothek für jeden Benutzer) und es praktisch ist, die Bilder über diesen Weg zuzuordnen. Entpacken Sie die Dateien imceimage-6.x-1.x-dev.tar.gz und cck-6.x-2.0-beta.tar.gz in den Ordner /sites/all/modules.

Abbildung 11.1: Modulordner mit neu installierten Modulen Exkurs Falls Sie mit XAMPP Lite unter Windows arbeiten und bei der Aktivierung der Module diese Fehlermeldung sehen Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 443944 bytes) in C:\xampplite\htdocs\drupal62\includes\form.inc on line 2485

steht zu wenig Hauptspeicher zur Verfügung. Um den Speicherplatz zu erhöhen, gibt es zwei Möglichkeiten: 1. Möglichkeit: Änderung direkt im Apache: C:\xampplite\apache2\bin\php.ini

1

http://drupal.org/project/imceimage

268

11.2 Installation der notwendigen Module

in der Zeile 246 memory_limit = 16M (16MB)

; Maximum amount of memory a script may consume

den Wert auf 64M erhöhen und den Webserver neu starten. 2. Möglichkeit: Änderung in Drupals .htaccess-Datei: Fügen Sie in der .htaccess-Datei im root-Verzeichnis Ihrer DrupalInstallation die Zeile php_value memory_limit [gewünschter Speicher]

ein. Auch hier ist 64MB ein akzeptabler Wert. In Ihrem Modulverzeichnis (VERWALTEN – STRUKTURIERUNG – MODULE) befindet sich ein neuer Formularbereich mit dem Namen CCK (Abbildung 11.2):

Abbildung 11.2: CCK-Module Aktivieren Sie alle Module in diesem Bereich.

269

11 Content Construction Kit (CCK)

11.3

Zwei neue Inhaltstypen mit Zusatzfeldern erstellen

Legen Sie im Bereich VERWALTEN – INHALTSVERWALTUNG – INHALTSTYPEN – INHALTSTYP HINZUFÜGEN zwei neue Inhaltstypen an. Zum einem den Inhaltstyp Standort und zum anderen den Inhaltstyp Fahrzeug (Abbildung 11.3). Gehen Sie vor wie bei den Pressemeldungen (siehe Abschnitt 5.5.2, Einen neuen Inhaltstyp für Pressemeldungen erstellen):

Abbildung 11.3: Neue Inhaltstypen Fahrzeug und Standort Für den Standort-Inhaltstyp reicht die Angabe von Titel (Ort) und Beschreibung (Anfahrtsweg) zunächst aus. Beim Fahrzeug-Inhaltstyp benötigen wir mehrere Felder, ein Feld für zwei Fotos, ein Feld für den Preis und ein Feld, das auf den Standort verweist. Klicken Sie also neben dem Inhaltstyp Fahrzeug auf den Link BEARBEITEN (Abbildung 11.4).

Abbildung 11.4: Feld hinzufügen mit CCK

270

11.4 Benutzerberechtigungen

In dem dann erscheinenden Formular legen Sie bitte drei zusätzliche Felder an wie in Abbildung 11.5:

Abbildung 11.5: Zusätzliche Felder im Fahrzeugtyp  Das BILD DES FAHRZEUGS ist ein IMCE Image-(imceimage)Feld für beliebig viele Bil-

der. Im Formularfeld ANZAHL VON WERTEN müssen Sie die gewünschte Menge eingeben. Ich wähle vier Werte, weil ich hier maximal vier Bilder unterbringen möchte. Diese Einstellung kommt in vielen Felder vor, die Mehrfachwerte erlauben. Bei manchen Werten kann der Benutzer während der Eingabe zusätzliche Feldern per Knopfdruck anfordern. Hier beim IMCE IMAGE-Feld müssen Sie sich für eine feste Anzahl von Bildern entscheiden.  Der PREIS IN EUR ist eine Dezimalzahl (number_decimal). Als Widget-Typ (Formular-

element) wählen Sie in der Optionsliste TEXTFELD aus.  Der STANDORT ist ein Beitragsverweis (node reference). Ich wähle als Widget-Typ eine SELECT LIST.

Das Feld soll später eine Auswahlliste aller Standorte enthalten. Hier müssen Sie darauf achten, dass Sie im unteren Bereich des Formulars den Inhaltstyp ankreuzen, aus dem die Auswahl kommen soll (Standort).

11.4

Benutzerberechtigungen

Damit sind die Vorbereitungen bis auf die zu setzenden Benutzerberechtigungen beendet. Als Administrator haben Sie Zugriff auf alles. Die anderen Benutzerrollen müssen jedoch noch Berechtigungen erhalten. Sie können die Berechtigungen für Inhaltstypen in VERWALTEN – BENUTZER – BERECHTIGUNGEN setzen. Darüber hinaus existiert jetzt ein neuer Bereich aus dem content_permissions-Modul (Abbildung 11.6): Dieses Modul ist Teil des CCK-Paketes und erlaubt Ihnen, für selbsterstellte Felder Berechtigungen zu setzen. Ich erlaube auch Gästen, auf die Felder zuzugreifen, eine Bearbeitung findet bis auf Weiteres nur durch den Administrator statt. Falls Sie die Mitarbeiter vermissen – die sind nicht entlassen, sondern aus Übersichtsgründen abgeschnitten worden. :-)

271

11 Content Construction Kit (CCK)

Abbildung 11.6: Zugriffsberechtigungen auf Feldebene

11.5

Dateneingabe

Wenn Sie auf den Link INHALT ERSTELLEN klicken, können Sie in die jetzt vorhandenen Inhaltstypen Standort und Fahrzeug Testdaten eingeben. Erstellen Sie sich zwei Standorte und zwei, drei Fahrzeuge. Damit es mit den Fahrzeugen auch zügig geht, habe ich die Bilder auf der CD beigelegt. Sie können den Preis als Ganzzahl eingeben. Falls Sie die Nummer des Nodes vergessen haben, können Sie unter VERWALTEN – INHALTSVERWALTUNG – INHALT Ihre Einträge wiederfinden. Die Zuordnung der Bilder funktioniert im Formular ähnlich wie beim Editor über den IMCE-Dateimanager (Abbildung 11.7):

Abbildung 11.7: Formular für den Inhaltstyp Fahrzeug

272

11.6 Ansicht auf der Website

Hinweis In Opera 9.5 wird der Link zum Dateimanager nicht angezeigt. In Firefox, Safari und Internet Explorer 7 erscheint er fehlerlos.

Um jedem Benutzer ein eigenes Verzeichnis zuzuordnen, müssen Sie unter VERWALTEN – EINSTELLUNGEN – IMCE pro Benutzerrolle entsprechende Profile anlegen. Diese Profile steuern das Verhalten beim Upload. Sie gelten für alle Benutzer, die dieser Rolle zugeordnet sind. Für den Administrator wird ein separates Profil angelegt.

11.6

Ansicht auf der Website

Sie können die Standorte und die Fahrzeuge direkt auf der Website aufrufen. Wenn Sie nicht mehr wissen, wo die Inhalte sind, finden Sie sie unter VERWALTEN – INHALTSVERWALTUNG – INHALT wieder. Die Einzelansicht sieht auch schon sehr übersichtlich aus (Abbildung 11.8):

Abbildung 11.8: Das Fahrzeug auf der Website

273

11 Content Construction Kit (CCK)

Wenn Sie auf den Link zum Standort klicken (FITOU), gelangen Sie zum Inhalt Ihrer Standortbeschreibung. Hinweis Sie können die Feldreihenfolge in VERWALTEN – INHALTSVERWALTUNG, DANN FAHRZEUG BEARBEITEN, dann FELDER VERWALTEN verändern. Die Beschriftung des Feldes können Sie in diesem Bereich ebenfalls verändern: Link KONFIGURIEREN, dann den Button CHANGE BASIC INFORMATION klicken.

11.7

Design der Ausgabe verändern

Jetzt sieht das alles ganz hübsch aus, aber meistens soll ja doch noch eine Kleinigkeit anders sein als im Standard. Also werden wir die Ansicht der Einzeldarstellung verändern.

11.7.1

Ein anderes Layout erstellen – direkt in PHP

Wie Sie bereits im Kapitel 10 gesehen haben, können Sie die Node-Ansicht einfach überschreiben und dann Ihre eigenen Designvorstellungen umsetzen. Kopieren Sie dazu die Datei /sites/all/themes/fourseasons/node.tpl.php und nennen die neue Datei /sites/all/themes/fourseasons/node-fahrzeug.tpl.php. Der Inhalt dieser Datei sieht so aus wie in Listing 11.1: Listing 11.1: node-fahrzeug.tpl.php type); ?>

" title="">

<span class="submitted"> theme('username', $node), '!date' => format_date($node->created))); ?>


274

11.7 Design der Ausgabe verändern



Sie können jetzt die Datei nach Ihren Wünschen anpassen. Sie merken allerdings schnell, dass alle wichtigen Informationen in einem großen Klumpen mit dem Namen $content liegen, auf dessen einzelne Felder Sie nicht direkt zugreifen können. Eine Lösung für PHP-erfahrene Benutzer wäre die Inhaltsanzeige des $node-Objekts: <pre>

Das Ergebnis ist eine Anzeige aller Elemente dieses Arrays in dieser Form: stdClass Object( [nid] => 32 [type] => fahrzeug [language] => de [uid] => 1 [status] => 1 [created] => 1213205471 [changed] => 1213263292 ... )

Die Anzeige ist sehr hilfreich, es ist jedoch als Anfänger nicht ganz einfach, die richtige Schreibweise für einen Zugriff auf die einzelnen Elemente zu finden. Aber Drupal wäre nicht Drupal, wenn es dafür keine komfortablere Möglichkeit geben würde :-).

11.7.2

Installation des Hilfsmoduls Content Template

Das Modul Content Template ist eine echte Hilfe, wenn es um das Design eines Inhalts geht. Laden Sie die Datei contemplate-6.x-0.13.tar.gz von der Projektseite2 oder der CD, entpacken Sie sie in den Ordner /sites/all/modules und aktivieren Sie das Modul (Abbildung 11.9).

2

http://drupal.org/project/contemplate

275

11 Content Construction Kit (CCK)

Abbildung 11.9: Modul Content Template aktivieren Danach finden Sie unter VERWALTEN – INHALTSVERWALTUNG – CONTENT TEMPLATES eine Auflistung aller Inhaltstypen mit der Möglichkeit, Templates zu erzeugen (Abbildung 11.10).

Abbildung 11.10: Übersicht der Templates Klicken Sie neben FAHRZEUG auf den Link CREATE TEMPLATE. Im Formularbereich TEXTKÖRPER – BODY VARIABLES finden Sie alle zur Verfügung stehenden Variablen des Inhaltstyps in korrekter PHP-Schreibweise, beispielsweise die Variable für das zweite Fahrzeugbild $node->field_fahrzeugbild[1]['imceimage_path'] und ihren Wert /sites/default/files/u1/nissan_bild2.jpg (Abbildung 11.11).

Abbildung 11.11: Variablen im Inhaltstyp Fahrzeug Ausgerüstet mit diesen Kenntnissen, können Sie jetzt die Darstellung des Fahrzeuginhaltes mit chirurgischer Präzision vornehmen.

276

11.8 Wie geht es weiter?

Die Variable $node->field_fahrzeugbild[1]['imceimage_path']

enthält den Pfad zum zweiten zugeordneten Bild. Arrays fangen in PHP mit einer 0 an, daher die 1. Wenn Sie im Template den PHP-Befehl field_fahrzeugbild[1]['imceimage_path']; ?>

eingeben wird der Pfad ausgegeben. Da Sie vermutlich nicht den Pfad, sondern das Bild sehen wollen, müssen Sie die Variable in das entsprechende HTML-Tag bauen, beispielsweise so: field_fahrzeugbild[1].'“'.['imceimage_path'].'>'; ?>

11.8

Wie geht es weiter?

Sie haben jetzt die Möglichkeit, unterschiedlichen Benutzerrollen bis auf Feldebene Zugriff auf Ihre kleine Autoverwaltung zu geben. Was jetzt noch fehlt, ist:  Eine Liste aller Fahrzeuge, vielleicht sogar pro Standort, Typ oder Hersteller des

Fahrzeugs.  Wenn der Standort angezeigt wird, könnte an der Seite ein Block mit den Autos an

diesem Standort auftauchen.  Ansonsten wäre eine Slideshow der Fahrzeugbilder schön. Per Klick auf das Bild

sollte man zum entsprechenden Fahrzeug gelangen. Die ersten beiden Punkte werden Sie im nächsten Kapitel mit dem Views-Modul umsetzen. Die Slideshow können Sie eben noch schnell in diesem Kapitel erledigen!

11.8.1

Eine Slideshow für die Fahrzeuge

Die Slideshow ist völlig unabhängig von Ihren Fahrzeugen konfigurierbar und funktioniert mit JavaScript. Sie können das Beispiel in Funktion auf der Website zum Buch sehen: http://drupal.cocoate.com/de/node/36 Laden Sie die Module Slideshow Creator (slideshow_creator-6.x-1.27.tar.gz) und JQuery Plugin (jquery_plugin-6.x-1.3.tar.gz) von den jeweiligen Projektseiten3 oder der Buch-CD und entpacken Sie sie in den Ordner /sites/all/modules. Aktivieren Sie beide Module unter VERWALTEN – STRUKTURIERUNG – MODULE. 3

http://drupal.org/project/slideshow_creator http://drupal.org/project/jquery_plugin

277

11 Content Construction Kit (CCK)

Die Slideshow wird als Filter in einem Eingabeformat benutzt. Sie müssen daher unter VERWALTEN – EINSTELLUNGEN – EINGABEFOMATE das gewünschte Format auswählen und dort den Slideshow-Filter aktivieren (Abbildung 11.12).

Abbildung 11.12: Inhaltsfilter für die Slideshow aktivieren Abhängig von der Größe Ihrer Bilder müssen Sie die Höhe und Breite der Slideshow festlegen. Das können Sie unter VERWALTEN – EINSTELLUNGEN – SLIDESHOW CREATOR tun. In meinem Fall passen 240 x 240 Pixel gut (Abbildung 11.13).

Abbildung 11.13: Slideshow-Einstellungen Jede nachdem, wie Sie die Slideshow auf der Seite positionieren wollen, können Sie beispielsweise eine neue Seite oder auch einen neuen Block erstellen und Slideshow Creator Code in eckigen Klammern eingeben: [slideshow:Version,img=|Bild_URL|Link|Titel|Beschreibung|Ziel|, img=|Bild_URL|Link|Titel|Beschreibung|Ziel|]

278

11.8 Wie geht es weiter?

 Version: die Version des Filters, momentan 2

Dann können Sie, jeweils durch ein Komma getrennt, beliebig viele Bilder angeben:  Bild_URL: die Bild-URL  Link: Link zu einer Website, wenn jemand auf das Bild klickt  Titel: der Text über oder neben dem Bild (je nach Konfiguration)  Beschreibung: der Text über oder neben dem Bild (je nach Konfiguration)  Target: Wenn das Bild verlinkt ist, können Sie hier ein Ziel eingeben (Target-Attribut), _blank (Standardeinstellung) öffnet ein neues Fenster, _parent und _top werden bei Frames benutzt, und _self öffnet den Link im gleichen Fenster.

Hier das oben bereits genannte Beispiel: [slideshow: 2, img=|http://drupal.cocoate.com/sites/default/files/u1/smart1_bild1.jpg| http://drupal.cocoate.com/node/32|Smart Cabrio|Der ultimative Fahrspass|Smart|,img=|http://drupal.cocoate.com/sites/default/files/u1/smart1_bild2. jpg|http://drupal.cocoate.com/node/32|Smart Cabrio|Der ultimative Fahrspass|Smart|,Fahrspass|Nissan|,img=| http://drupal.cocoate.com/sites/default/files/u1/nissan_bild1.jpg|http://drupal.cocoa te.com/node/35|kennt keiner|Der ultimative Fahrspass|Nissan|,Fahrspass|Nissan|,img=| http://drupal.cocoate.com/sites/default/files/u1/nissan_bild2.jpg| http://drupal.cocoate.com/node/35|kennt keiner|Der ultimative Fahrspass|Nissan|]

Außer dieser vorgegebenen Struktur können Sie auch Bilder aus einem Ordner anzeigen, wenn Sie [slideshow:Version, dir=|Bild_Ordner|Rekursiv|Link|Titel|Beschreibung|Ziel|]

benutzen. In diesem Fall stehen die Variablen für:  Version: die Version des Filters, momentan 2

Dann können Sie, jeweils durch ein Komma getrennt, Bildordner angeben:  Bild_Ordner: Das Bild-Verzeichnis  Rekursiv: Geben Sie yes ein, wenn Sie auch die Unterordner mit erfassen wollen;

wenn nicht, einfach leer lassen.  Links: Geben Sie yes ein, wenn Sie hinter alle Bilder einen Link legen wollen; wenn

nicht, einfach leer lassen. In unserem Fall ein Link zur Fahrzeugliste, die wir in Kapitel 12 erzeugen werden.  Titel, Beschreibung und Ziel gilt für alle Bilder. [slideshow: 2, dir=|files/|yes||Unsere Fahrzeuge|Die können sofort Ihnen gehören!|]

279

11 Content Construction Kit (CCK)

Zur Slideshow noch ein paar Anmerkungen:  Die Titel und Bilder der Slideshow sind linksbündig, die Beschriftung darunter

zentriert, je nachdem, was Sie in der Konfiguration eingestellt haben und wie groß die Bilder sind.  Die Beschriftung ist noch in Englisch (PREVIOUS SLIDE 4/4 NEXT, "PREVIOUS",

"NEXT"), da es momentan keine deutsche Sprachdatei gibt.  Die Slideshow soll ein Beispiel sein, um die Möglichkeiten der Interaktion zu de-

monstrieren. Gerade in Bezug auf die Bildverwaltung mit CCK-Feldern sind momentan viele Projekte am Start, die aber den Rahmen des Kapitels schlichtweg sprengen würden.  Weiterführende Drupal-Rezepte werden Sie auf der Website zum Buch finden.4

4

http://drupal.cocoate.com/

280

12 Views: Ansichten erstellen Was Content Construction Kit (CCK) für die Erstellung von Feldern für die Inhaltstypen ist, ist das Views-Modul für deren Ansichten auf der Website. Das heißt mit der Hilfe von CKK kommen Ihre Inhalte in die Datenbank, und mit Views kommen sie wieder heraus! Doch Views arbeitet nicht nur mit CCK-Feldern, sondern mit allem, was in Drupal an Feldern vorkommt. Views ist auf der einen Seite ein Reportgenerator, auf der anderen Seite ein Tool, um RSS-Feeds nach Ihren Wünschen zu formen. Sie können damit Inhalte für Drupal-Blöcke liefern, Listendarstellungen nach bestimmten Werten und Parametern filtern, Tabellen erzeugen und viel, viel mehr. Der Begriff View ist im Datenbankumfeld gebräuchlich und beschreibt eine Sicht auf die Daten,1 also eine Teilmenge des gesamten Datenbestands. Die Sicht im Sinne des Views-Moduls in Drupal ist dabei also die gespeicherte Abfrage auf die Daten (Filter, Felder, Sortierung) und deren Darstellung auf der Website (Anzeige). Das Modul Views entwickelt sich immer mehr zum Schweizer Taschenmesser für die Darstellung von Daten in Drupal, ohne SQL-Abfragen manuell schreiben oder gar programmieren zu müssen. Was auf dem PC-Desktop unter Microsoft Access und ähnlichen Tools sehr komfortabel möglich ist, war bisher auf Websites und speziell in Open Source-CMSsen nicht ganz einfach und meist mit »Handarbeit«, sprich Programmieren verbunden. In diesem Kapitel möchte ich Ihnen das Modul vorstellen und ein Grundverständnis vermitteln. Die komplette Beschreibung des Moduls würde vermutlich ein weiteres Buch erfordern. In diesem Kapitel werden Sie zunächst das Views-Modul installieren und dann einen kleinen Rundgang durch dessen Funktionen unternehmen. Wenn Sie mit der Bedienung ein wenig warm geworden sind, werden Sie, basierend auf den Fahrzeugdaten, die Sie in Kapitel 11, Content Construction Kit (CCK), mit CCK erzeugt haben, eine Fahrzeugliste mit allen Fahrzeugen, einem Block mit Fahrzeugen eines Standorts und ein RSS-Feed der vorhandenen Fahrzeuge erzeugen. Sie können die fertigen Ansichten auch im- und exportieren, um einmal erstellte Ansichten weitergeben bzw. einlesen zu können. Außerdem können Sie die Ausgabe auf der Website nach Ihren Bedürfnissen verändern. Das neue Views-Modul für Drupal 6 ist noch nicht ganz fertig, steht aber bereits als funktionsfähige Beta-Version zur Verfügung. 1

http://de.wikipedia.org/wiki/Sicht_(Datenbank)

12 Views: Ansichten erstellen

Tipp Auf der Website http://drupal.cocoate.com werden weitere Informationen zur Nutzung von Modulen wie Views zu finden sein.

12.1

Views: Installation und Konfiguration

Laden Sie das Views-Modul (views-6.x-2.0-beta4.tar.gz) von der Projektseite2 oder der CD, entpacken es und kopieren es in den Ordner /sites/all/modules. Dann aktivieren Sie alle Bestandteile des Views-Moduls (Abbildung 12.1).

Abbildung 12.1: Ansichten Bereich mit Views-Modulen In der deutschsprachigen Übersetzung wird Views mit Ansichten übersetzt. Ich werde im weiteren Verlauf des Kapitels die Begriffe Views und Ansichten synonym verwenden. Damit auch Besucher Ihre erstellten Ansichten sehen können, müssen Sie die Berechtigung dafür setzen. Die Verwaltung sollte natürlich nur beim Administrator oder einer anderen berechtigten Rolle liegen. Gäste und authentifizierte Benutzer müssen aber das Recht erhalten, die Ansichten anzusehen (Abbildung 12.2):

Abbildung 12.2: Benutzerberechtigungen für Ansichten 2

http://drupal.org/project/views

282

12.1 Views: Installation und Konfiguration

12.1.1

Das Modul Views in der Übersicht

Nach der Installation können Sie das Views-Modul unter VERWALTEN – STRUKTURIERUNG – ANSICHTEN aufrufen. Mit im Lieferumfang des Moduls sind Ansichten, die auf der Übersichtsseite zu sehen sind. Außer der Auflistung der Ansichten sehen Sie drei weitere Reiter:  HINZUFÜGEN: Hier können Sie eine eigene Ansicht erstellen.  IMPORTIEREN: Hier können Sie vorhandene Ansichten importieren.  WERKZEUGE: Dieser Bereich wird noch mal in den Bereich Basiseinstellungen

(BASIC), Export der Ansicht in einen Modulordner (BULK EXPORT) und einen Bereich, der zum Upgrade älterer Ansichten aus dem Views-Modul in der Version 1.0 für Drupal 5 dient, unterteilt. 3

Tipp Der Autor des Views-Moduls stellt ein weiteres Modul mit dem Namen Advanced Help zur Verfügung, das Sie auch auf der Buch-CD finden.3 Das Modul ermöglicht jedem anderen Drupal-Modul, eine Dokumentation mitzuliefern. Das Views-Modul geht hier mit gutem Beispiel voran. Wenn Sie das Advanced Help-Modul installieren, haben Sie Zugriff auf eine zur Zeit noch englische Online Hilfe, die sehr ausführliche alle Features des Views- Moduls erklärt.

12.1.2

Vordefinierte Ansichten

Sie können die mitgelieferten Ansichten sofort verwenden und natürlich auch verändern. Meistens handelt es sich um zusätzliche Listen, die über eine spezielle URL aufgerufen werden, sowie Blöcke, die Sie in den Theme-Regionen frei positionieren können. Um die Ansichten nutzen zu können, müssen Sie jeweils auf den Link AKTIVIEREN klicken. Bei der Aktivierung werden auch Menüeinträge erzeugt, die standardmäßig aktiviert sind und im Menü NAVIGATION angezeigt werden. In der von mir benutzten Views Beta-4-Version handelt es sich dabei um die folgenden Ansichten:

Archiv (archive) Diese Ansicht zeigt eine Liste von verlinkten Monaten, die wiederum auf die entsprechenden Inhalte verweisen. Die Ansicht enthält einen Block und eine Seitenanzeige, die Sie mit der URL [Drupal]/archive , ähnlich wie bei Wordpress4 oder anderen Systemen, aufrufen können.

3 4

http://drupal.org/project/advanced_help http://wordpress.org/

283

12 Views: Ansichten erstellen

Abbildung 12.3: Archiv-Ansicht

Verweisende Links (backlinks) Diese interessante Funktion liefert einen zusätzlichen Reiter für jeden Inhalt. Klickt man auf den Reiter, sieht man Links zu anderen Inhalten dieser Website, die auf diesen Inhalt per Link verweisen. Die Seite können Sie auch direkt über die URL [Drupal]/node/[Node ID]/backlink aufrufen. Diese Ansicht stellt auch einen Block zur Verfügung.

Neueste Kommentare (comments_recent) Auch hier gibt es wieder einen Block und eine Seitenansicht. Beide enthalten die neuesten Kommentare in verlinkter Darstellung. Die Links verweisen direkt auf den Kommentar zu einem Inhalt ([Drupal]/comments/recent).

Startseite (frontpage) Hier ist ein Beispiel für eine Startseite. Sie können diese Ansicht aktivieren und in VERWALTEN – EINSTELLUNGEN – WEBSITE als Startseite eintragen ([Drupal]/frontpage). Zu den Einträgen der Startseite wird auch ein Newsfeed bereitgestellt.

Glossar (glossary) Dieses Glossar ist eine Liste, in der die Inhalte nach dem Anfangsbuchstaben des Titels gruppiert sind ([Drupal]/glossary) (Abbildung 12.4).

Abbildung 12.4: Glossar

Beliebte Inhalte (popular) Diese Ansicht ist so sortiert, dass die am meisten aufgerufenen Inhalte Ihrer Website oben stehen. Damit die Ansicht Daten enthält, müssen Sie das statistics-Modul aktiviert und in der Konfiguration eingeschaltet haben. In der Ansicht kann über einen

284

12.1 Views: Installation und Konfiguration

Reiter gewählt werden, ob man die beliebten Inhalte von heute oder die insgesamt beliebtesten Inhalte sehen möchte (Abbildung 12.5).

Abbildung 12.5: Beliebte Inhalte Diese Ansicht liefert eine Seite und einen Block. Die URLs lauten [Drupal]/popular/all und [Drupal]/popular/today.

Vokabularbegriff (taxonomy_term) Diese Ansicht bietet eine Übersicht aller Inhalte, die mit einem bestimmten Vokabularbegriff gekennzeichnet sind. Die Ansicht überschreibt das Standardverhalten von Drupal ([Drupal]/taxonomy/term/[ID des Begriffs]). Dieses Standardverhalten kommt aus dem Taxonomy-Core-Modul. Auf den ersten Blick ist kein Unterschied festzustellen, aber mit dieser Ansicht haben Sie natürlich die Möglichkeit der Bearbeitung, die im Taxonomy-Modul nicht gegeben ist.

Neue Beiträge (Tracker) Auch diese Ansicht überschreibt eine Modulausgabe. In diesem Fall die durch das Modul Tracker gelieferte Liste. Die Ansicht ist im Gegensatz zum Original durch Klick auf die Überschriften sortierbar ([Drupal]/tracker).

Abbildung 12.6: Neue Beiträge

285

12 Views: Ansichten erstellen

12.2

Ansicht »beliebte Inhalte« verändern

Um ein Gefühl für die Bedienung von Views zu bekommen, wollen wir die Ansicht »beliebte Inhalte« um ein Feld erweitern. Klicken Sie im Bereich der Ansicht beliebte Inhalte auf den Link BEARBEITEN. Es öffnet sich der Bearbeitungsbereich des Views-Moduls (Abbildung 12.7):

Abbildung 12.7: Bearbeitung der Anzeige »beliebte Inhalte« Ihnen stehen die Standardwerte (DEFAULTS) und vier Anzeigen, POPULAR (PAGE), TODAY (PAGE), POPULAR (BLOCK) und TODAY (BLOCK) zur Verfügung: Zwei Seitenanzeigen und zwei Blöcke. Wenn Sie mit der Maus auf die verschiedenen Anzeigen im linken, oberen Bereich klicken, passen sich die Einstellungsmöglichkeiten im rechten Bereich an. Manche Einstellungen sind gleich, manche ändern sich. In der Abbildung 12.7 sehen Sie den Bereich POPULAR (PAGE), also die beliebtesten Inhalte, die Sie auch unter der URL [Drupal]/popular/all aufrufen können. In dieser Bearbeitungsansicht können Sie alle Werte verändern.

12.2.1

Ein zusätzliches Feld Erstellungsdatum für die »beliebten Inhalte«

Wir wollen in die Liste ein zusätzliches Feld bringen. Klicken Sie auf das +-Zeichen im Bereich FELDER (Abbildung 12.8). Unterhalb des Feldbereichs öffnet sich ein Bereich zur Auswahl neuer Felder. In diesem Bereich sehen Sie alle zur Verfügung stehenden Felder, gruppiert nach Sinnzusammenhängen. Wählen Sie dort in der Auswahlliste NODE und als Feld NODE: BEITRAGSDATUM aus (Abbildung 12.9).

286

12.2 Ansicht »beliebte Inhalte« verändern

Abbildung 12.8: Felder-Bereich in der Ansicht

Abbildung 12.9: Beitragsdatum hinzufügen Durch einen Klick auf den Button HINZUFÜGEN ordnen Sie das Datumsfeld der Ansicht zu. Die Anzeige wechselt auf die Einstellungen des Feldes (Abbildung 12.10).

Abbildung 12.10: Einstellungen im Datumsfeld Sie können hier den Namen, der in der Überschrift steht, und die Formatierung des Datums nach Ihren Wünschen gestalten. Außerdem können Sie das Datumsfeld von der Anzeige ausschließen (EXCLUDE FROM DISPLAY), wenn Sie den Wert nur für weitere Berechnungen benötigen. Momentan benötigen wir dieses Feature nicht. Nach einem Klick auf den Button AKTUALISIEREN ändert sich eine ganze Menge (Abbildung 12.11).

287

12 Views: Ansichten erstellen

Abbildung 12.11: Ansicht mit neuem Feld Im Bereich FELDER steht jetzt Ihr neues Feld NODE:BEITRAGSDATUM ERSTELLT AM. Unterhalb dieses Bereichs sehen Sie eine Live-Vorschau (LIVE PREVIEW) Ihrer Ansicht. Das was Ihnen hier angezeigt wird, ist die Ansicht mit echten Daten, so wie Sie auch auf der Website aussehen wird, und auf der rechten Seite sehen Sie Ihr neues Feld mit der Überschrift ERSTELLT AM. Wenn Sie die Ansicht speichern und mit einem Klick auf Ansicht POPULAR (PAGE) oder der URL-Endung /popular/all auf der Website ansehen, so erscheint das Datumsfeld ebenfalls.

12.2.2

Felder in der Ansicht »beliebte Inhalte« umsortieren

Sie wollen Ihr Datumsfeld aber auf der linken Seite haben und nicht rechts? Um die Reihenfolge der Felder zu bearbeiten, klicken Sie auf das Symbol mit den zwei Pfeilen rechts neben der Überschrift FELDER. Sie erhalten eine Liste der Felder, die Sie mit gedrückter linker Maustaste verschieben können (Abbildung 12.12). Nach einem Klick auf den Button AKTUALISIEREN verändert sich die Feldliste, und in der Live-Vorschau ist das Datumsfeld jetzt an der gewünschten Stelle (Abbildung 12.13).

288

12.3 Wichtige Begriffe beim Bearbeiten einer Ansicht

Abbildung 12.12: Felder umsortieren

Abbildung 12.13: Ansicht mit verschobenem Datumsfeld

12.3

Wichtige Begriffe beim Bearbeiten einer Ansicht

Die Ansichtenbearbeitung kann ein bisschen verwirren, da Sie immer von einer Stufe zur nächst niedrigen und wieder zurückspringen. Hier eine kleine Übersicht:  Die Übersicht: Auf der Seite ANSICHTEN – ALLE ANZEIGEN finden sich zahlreiche

Filtermöglichkeiten. Wenn Sie sehr viele Ansichten für Ihre Website haben, ist es hilfreich, nach allgemeinen und selbst definierten Begriffen filtern zu können.  Die Ansicht (VIEW): eine auf der Webseite sichtbar dargestellte Datenbankabfrage,

beispielsweise POPULAR, die die beliebtesten Beiträge ausgibt. Die Ansicht ist der Container, der alle Anzeigen enthält.  Die Anzeige (DISPLAY): Die Anzeigen können ganz unterschiedlich sein, z. B. eine

Seite mit eigener URL, ein Block als Teil einer Seite oder ein RSS-Feed. Eine Ansicht kann beliebig viele Anzeigen haben, von denen jede ihre eigenen Basiseinstellun-

289

12 Views: Ansichten erstellen

gen, Beziehungen, Argumente, Felder, Sortierkriterien, Filter und speziellen Anzeigeparameter hat. Die eben vorgestellte Ansicht POPULAR kommt standardmäßig mit den vier Anzeigen POPULAR (PAGE), TODAY (PAGE), POPULAR (BLOCK) und TODAY (BLOCK).  Einstellungen (SETTINGS): Sowohl die Ansicht selbst als auch deren Anzeigen ha-

ben verschiedene Einstellungen. Alle Einstellungen einer Ansicht/Anzeige können durch einen Klick auf den Wert oder die beiden Symbole rechts neben der Überschrift des entsprechenden Formularbereichs bearbeitet werden.  Werte: Zum Bearbeiten der Werte klicken Sie einfach darauf. Nach dem Klick öff-

net sich unterhalb der Einstellungen ein neues Formular, in dem die Werte geändert werden können. Die Vorschau (LIVE PREVIEW): Noch weiter unten gibt es nach einer Änderung eine Live-Vorschau, die sich immer ändert, wenn Sie im Formular zum Ändern der Werte auf AKTUALISIEREN klicken. Ein Klick auf AKTUALISIEREN bewirkt zwar eine Änderung der Vorschau, aber die Änderung an der Ansicht wird erst durch einen Klick auf SPEICHERN in die Datenbank geschrieben. Achten Sie also immer darauf, die Änderungen wirklich zu speichern, nachdem Sie mit der Bearbeitung fertig sind! Das letzte Speichern vergisst man schnell!

12.4

Die Ansicht »Fahrzeugliste« erstellen

Lassen Sie uns jetzt eine eigene Ansicht erstellen. Für die Fahrzeugliste haben wir folgende Anforderungen:  Überschrift »Fahrzeugliste«  URL [Drupal]/Fahrzeugliste  ein Einleitungstext und ein Text unterhalb der Fahrzeuge  in der Liste sollen nur Fahrzeuge stehen (eigentlich klar :-) ).  angezeigte Felder: Titel des Inhalts, Preis, Standort  die Spalten sollen sich sortieren lassen  ein RSS-Feed, das die Fahrzeuge der Liste enthält  ein Block, der neben den Standortinhalten erscheinen soll

12.4.1

Schritt 1: Neue Ansicht erstellen

Um eine neue Ansicht zu erstellen, klicken Sie auf den Link VERWALTEN – ANSICHTEN – HINZUFÜGEN. Sie befinden sich im ersten Schritt der Erstellung und müssen den internen Namen und eine Beschreibung, die in der Ansichtenübersicht auftauchen wird, eingeben. Wenn Sie wollen, können Sie auch noch eine Kennzeichnung angeben, nach der Sie die Ansichtsliste später filtern können (Abbildung 12.14).

290

12.4 Die Ansicht »Fahrzeugliste« erstellen

Abbildung 12.14: Ansicht erstellen – Schritt 1 Im unteren Bereich des Formulars müssen Sie den ANSICHTSTYP auswählen. Das Views- Modul muss wissen, aus welcher Quelle die Ansicht grundsätzlich aufgebaut wird. Im Falle der Fahrzeugliste geht es um Nodes.

12.4.2

Schritt 2: Standardeinstellungen für die Ansicht festlegen

Klicken Sie danach auf den Button NÄCHSTE SEITE, um in die Bearbeitungsansicht für die Standardeinstellungen zu gelangen (Abbildung 12.15):

Abbildung 12.15: Bearbeitungsansicht – Standards

291

12 Views: Ansichten erstellen

Diese Ansicht enthält Basisdaten (STANDARDS) und ist zunächst ein wenig verwirrend. Das Gute an dieser Bearbeitungsmaske ist, dass man mit ihr fast alles einstellen kann, aber nicht muss. Das heißt, Sie können sich auf Ihre Aufgabe konzentrieren und nur die Dinge beachten und verändern, die Sie benötigen. Die Standardansicht enthält gemeinsame Einstellungen, die für alle Anzeigen der zu erzeugenden Ansicht gelten sollen. Dazu gehören beispielsweise die Felder, die Sie in allen Anzeigen haben wollen. Nehmen wir hier den Titel und den Preis als gemeinsames Feld. In der Anzeige SEITE soll zusätzlich noch der Standort angezeigt werden, in der Blockanzeige nicht.

12.4.3

Schritt 3: Felder »Titel« und »Preis« hinzufügen

Fügen Sie das Feld TITEL hinzu, indem Sie auf das +-Zeichen neben Felder klicken, die Gruppe NODE auswählen und anschließend auf den Button HINZUFÜGEN klicken (Abbildung 12.16).

Abbildung 12.16: Neues Feld hinzufügen Nach dem Aktualisieren werden Sie nach einem Namen für das Feld gefragt (Überschrift der späteren Liste). Ich nenne das Feld FAHRZEUG und kreuze an, dass es zu seinem Inhalt verlinkt werden soll (Abbildung 12.17).

Abbildung 12.17: Eigenschaften für den Titel des Inhalts

292

12.4 Die Ansicht »Fahrzeugliste« erstellen

Wiederholen Sie den Vorgang und fügen Sie aus der Gruppe Inhalt das Feld INHALT: DEZIMALZAHL: PREIS IN EUR (FIELD_PREIS) hinzu. Diesmal verlinken Sie das Feld nicht (Abbildung 12.18).

Abbildung 12.18: Einstellungen für das Preisfeld

12.4.4

Schritt 4: Filter »Inhaltstyp Fahrzeug« setzen

Beide Felder werden jetzt in der Feldliste angezeigt. Eine weitere Gemeinsamkeit der Anzeigen ist, dass alle Inhalte vom Inhaltstyp Fahrzeug sein müssen. Das erreichen Sie, indem Sie einen Filter setzen. Klicken Sie im Bereich FILTER auf das +-Zeichen und wählen dann in der Auswahl Node das Feld NODE: TYP aus (Abbildung 12.19).

Abbildung 12.19: Filter Inhaltstyp hinzufügen In der anschließenden Auswahl wählen Sie als OPERATOR IST EINES VON und als INHALTSTYP FAHRZEUG (Abbildung 12.20). Nach dem Speichern des Inhaltstyps erscheint unten im Formular bereits die LiveVorschau inkl. der Datenbankabfrage und den Ausführungszeiten (Abbildung 12.21). Damit können Sie sich jetzt dem Anzeigen der Ansicht widmen.

293

12 Views: Ansichten erstellen

Abbildung 12.20: Filter Inhaltstyp konfigurieren

Abbildung 12.21: Live-Vorschau

12.5

Ansicht »Fahrzeugliste«: Anzeige »Seite« erstellen und konfigurieren

Nach der Konfiguration der allgemeinen Einstellungen für die Ansicht Fahrzeugliste erstellen Sie nun noch der Reihe nach drei Anzeigen für diese Ansicht. Sie beginnen mit der Anzeige Seite.

12.5.1

Schritt 1: Anzeige »Seite« erstellen

Links oben unter dem Reiter STANDARD haben Sie die Möglichkeit, eine neue Anzeige hinzuzufügen. Wählen Sie SEITE und klicken den Button ANZEIGE HINZUFÜGEN (Abbildung 12.22).

294

12.5 Ansicht »Fahrzeugliste«: Anzeige »Seite« erstellen und konfigurieren

Abbildung 12.22: Neue Anzeige hinzufügen Sie sehen, dass unter Standards eine neue Anzeige aktiv wird. Außerdem gibt es einen neuen Formularbereich mit dem Namen SEITENEINSTELLUNGEN (Abbildung 12.23).

Abbildung 12.23: Anzeige – Seite

12.5.2

Schritt 2: Pfad und Menüeintrag definieren

In diesem Bereich können Sie durch einen Klick auf den verlinkten Wert NICHTS den Pfad FAHRZEUGLISTE einstellen. In den Seiteneinstellungen können Sie unter dem Pfad noch einen Menüeintrag erstellen, denn die Fahrzeugliste muss ja irgendwie aufrufbar sein. Um ein Menü zu erstellen, klicken Sie auf den verlinkten Wert KEIN MENÜ und wählen als Typ NORMALER MENÜEINTRAG und einen Titel für den Link (Abbildung 12.24).

Abbildung 12.24: Menüeintrag

295

12 Views: Ansichten erstellen

Dieser Menüeintrag erscheint nach dem Speichern der Anzeige (nicht nach dem »Aktualisieren«!) als aktivierter Link in Ihrem Menü NAVIGATION, also auch auf der Website. Speichern Sie jetzt auch noch die Ansicht ab. Nach dem Speichern gelangen Sie in die Liste aller Ansichten (Abbildung 12.25):

Abbildung 12.25: Ansicht Fahrzeugliste in der Übersicht

12.5.3

Schritt 3: Die Anzeige »Seite« im Browser testen

Wenn Sie die Liste auf der Website sehen wollen, müssen Sie die URL [Drupal]/fahrzeugliste eingeben.

Abbildung 12.26: Erste Ansicht auf der Website Grundsätzlich funktioniert nun alles. Allerdings wollten wir eine Tabelle mit Überschriften und keine Liste. Außerdem sollte durch einen Klick auf die Überschrift eine Sortiermöglichkeit vorhanden sein, und das Standortfeld wollten wir auch sehen. Vor und nach der Anzeige sollte noch ein individueller Text auftauchen.

12.5.4

Schritt 4: Die Seitenanzeige bearbeiten

Jetzt wollen wir für die Seitenanzeige fehlenden Punkte ergänzen. Klicken Sie in VERWALTEN – STRUKTURIERUNG – ANSICHTEN im Bereich FAHRZEUGLISTE auf den Link BEARBEITEN. Klicken Sie anschließend auf die Anzeige SEITE.

296

12.5 Ansicht »Fahrzeugliste«: Anzeige »Seite« erstellen und konfigurieren

Standortfeld hinzufügen Um das Standortfeld hinzuzufügen, klicken Sie im Bereich FELDER auf das +-Zeichen und fügen aus der Auswahl INHALT das Feld INHALT: BEITRAGSVERWEIS: STANDORT (FIELD_STANDORT) hinzu. Hinweis Das Feld STANDORT wird bei dieser einfachen Zuordnung der Standardauswahl an Feldern hinzugefügt. Sie lernen im weiteren Verlauf der Übung noch die Technik des Überschreibens von Feldern.

Anzeige einer Tabelle Klicken Sie in den Basiseinstellungen neben der Option DARSTELLUNG auf den verlinkten Wert UNFORMATIERT und wählen im dann erscheinenden Formularbereich SEITE: HOW SHOULD THIS VIEW BE STYLED die Auswahl TABELLE aus (Abbildung 12.27).

Abbildung 12.27: Ansichtsstil Tabelle Nach dem Aktualisieren sieht man in der Vorschau bereits das gewünschte Ergebnis (Abbildung 12.28):

Abbildung 12.28: Vorschau der Tabellenansicht

Sortiermöglichkeit für die Überschriften Neben dem Feld DARSTELLUNG und dem verlinkten Wert TABELLE befindet sich ein Zahnrad-Symbol (Abbildung 12.29).

297

12 Views: Ansichten erstellen

Abbildung 12.29: Konfigurations-Icon für die Darstellung Wenn Sie auf das Zahnrad-Symbol klicken, gelangen Sie in die Konfiguration der Tabellenüberschriften (Abbildung 12.30).

Abbildung 12.30: Konfiguration der Tabellenüberschriften Sie können hier die Sortierbarkeit über das Ankreuzen einer Checkbox einschalten und eine Standardsortierung festlegen. Bereits in der Live-Vorschau wird die Sortierbarkeit durch Klick auf die Überschriften angezeigt. Die aktuelle Sortierrichtung (aufsteigend, absteigend) wird durch ein Dreieck symbolisiert (Abbildung 12.31).

Abbildung 12.31: Tabelle mit sortierbaren Überschriften

Individueller Text im Kopf- und Fußbereich der Anzeige Durch einen Klick auf den verlinkten Wert NICHTS des Felds Kopfbereich in den Basiseinstellungen erscheint im unteren Bereich des Formulars eine Eingabemöglichkeit für einen einleitenden Text (Abbildung 12.32):

298

12.6 Ansicht »Fahrzeugliste«: Erstellung der Anzeige RSS-Feeds

Abbildung 12.32: Individueller Text im Kopfbereich Mit dem Text der Fußzeile verfahren Sie analog. Im Ergebnis sieht die Liste nach allen Änderungen auf der Website aus wie in Abbildung 12.33:

Abbildung 12.33: Fertige Anzeige vom Typ Seite

12.6

Ansicht »Fahrzeugliste«: Erstellung der Anzeige RSS-Feeds

Kommen wir zum RSS-Feed. Zusätzlich zur Fahrzeugliste benötigen wir ein RSSFeed, also eine neue Anzeige innerhalb der Ansicht FAHRZEUGLISTE. Dies geht erstaunlich einfach:  Links oben unter dem Reiter STANDARD haben Sie wieder die Möglichkeit, eine

neue Anzeige hinzuzufügen. Wählen Sie NEWSFEED und klicken dann auf den Button ANZEIGE HINZUFÜGEN.  Damit das RSS-Feed per URL erreichbar ist, benötigen Sie einen Pfad. Klicken Sie

in den NEWSFEED-EINSTELLUNGEN neben der Option PFAD auf den verlinkten Wert NICHTS und setzen Ihn auf FAHRZEUGLISTE/FEED (Abbildung 12.34):

299

12 Views: Ansichten erstellen

Abbildung 12.34: URL für das RSS-Feed Jetzt fehlt noch der Anzeigestil. Klicken Sie in den Basiseinstellungen auf den verlinkten Wert MISSING STYLE PLUGIN neben dem Feld ROW STYLE und kreuzen die Auswahl Node an (Abbildung 12.35):

Abbildung 12.35: Anzeigestil für das RSS-Feed Hinweis Die URL in Abbildung 12.34 (meinersterkunde) kommt zustande, weil ich gerade mit der in Abschnitt 9.9, Multisite: Viele Sites mit einem Drupal, beschriebenen Multisite-Installation arbeite.

Nach einem Klick auf den Button AKTUALISIEREN und dem Speichern von Anzeige und Ansicht ist Ihr RSS-Feed einsatzbereit.

300

12.7 Ansicht »Fahrzeugliste«: Erstellung der Anzeige »Block«

Wenn Sie jetzt die URL [Drupal]/fahrzeugliste/feed im Browser aufrufen, können Sie die Fahrzeugliste abonnieren. Hier ein Beispielaufruf im Internet Explorer 7 (Abbildung 12.36):

Abbildung 12.36: Das RSS-Feed im Internet Explorer

12.7

Ansicht »Fahrzeugliste«: Erstellung der Anzeige »Block«

Kommen wir zum Block. Ein Block ist, genau wie eine Seite oder ein Feed, eine zusätzliche Anzeige in einer Ansicht. Die Anzeige Block erstellen Sie so:  Rufen Sie ggfs. in VERWALTEN – STRUKTURIERUNG – ANSICHTEN die Fahrzeugliste

zur Bearbeitung auf.  Erstellen Sie in der Ansicht Fahrzeugliste eine Blockanzeige und speichern Sie diese.  Aktivieren Sie die Anzeige Block und wählen Sie in den Basiseinstellungen im Feld

DARSTELLUNG: ALLE ANZEIGEN (STATT TABELLE).

12.7.1

Das Feld Standort nur für die Anzeige »Block« entfernen

Der Block soll nicht das Feld STANDORT enthalten. Wenn Sie im Bereich mit einem Klick auf das Umsortieren-Symbol (das sind die zwei Pfeile nach oben bzw. unten) in die Bearbeitung der Felder gehen, sehen Sie einen Button ÜBERSCHREIBEN (Abbildung 12.37).

301

12 Views: Ansichten erstellen

Abbildung 12.37: Überschreiben der Standardfelder Bei den nächsten beiden Klicks kommt es auf die Reihenfolge an: 1. Durch einen Klick auf den Button ÜBERSCHREIBEN überschreiben Sie die Standardwerte nur für diese eine Anzeige. Die neuen Werte, die Sie jetzt festlegen, gelten nur für die Block-Anzeige und nicht für die gesamte Ansicht Fahrzeugliste. 2. Jetzt können Sie das Feld STANDORT durch einen Klick auf das Halteverbotsymbol an der rechten Seite entfernen (Abbildung 12.38).

Abbildung 12.38: Überschreiben des Feldes Standort Nach einem Klick auf den AKTUALISIEREN-Button werden die Werte für die BlockAnzeige übernommen.

12.7.2

Die Überschriften für die Felder entfernen

Damit die Daten im Block passend angezeigt werden, müssen Sie auch die Überschriften der Felder entfernen. Klicken Sie dazu im Bereich FELDER jeweils auf den Link zur Bearbeitung des Feldes, löschen die Überschrift im Formular und klicken auf AKTUALISIEREN (Abbildung 12.39):

12.7.3

Änderung der Darstellung im Block

Zuletzt wollen wir noch die Zeilendarstellung im Block im Gegensatz zum Standard ändern: In der Tabellendarstellung besteht eine Zeile aus verschiedenen Spalten, die dann mit Werten gefüllt werden.

302

12.7 Ansicht »Fahrzeugliste«: Erstellung der Anzeige »Block«

Abbildung 12.39: Entfernen der Überschrift im überschriebenen Preisfeld In einem Block ist aber kein Platz für eine Tabelle. Hier sollen die Werte einer Zeile hintereinander in die Zeile geschrieben und durch einen Bindestrich getrennt werden. Um dieses Verhalten zu erzeugem, klicken Sie auf das Zahnrad-Symbol neben dem Feld ROW STYLE und dann auf den Button ÜBERSCHREIBEN. Im folgenden Dialogfeld kreuzen Sie im Bereich INLINE-FELDER beide Felder an (die somit in eine Reihe geschrieben werden sollen) und geben einen Bindestrich als Trennzeichen (Separator) vor (Abbildung 12.40):

Abbildung 12.40: Änderung der Zeilendarstellung

303

12 Views: Ansichten erstellen

Vergessen Sie nach der Aktualisierung der Änderungen nicht, noch einmal auf die Schaltfläche SPEICHERN zu klicken, da die Einstellungen sonst nicht in die Datenbank von Drupal geschrieben werden.

12.7.4

Den Block positionieren und nur auf bestimmten Seiten darstellen

Nach diesen Änderungen ist Ihr Block einsatzbereit. Unter VERWALTEN – STRUKTURIEREN – BLÖCKE können Sie ihn auf der Website positionieren. Die Zeilendarstellung wird wie gewünscht ausgeführt (Abbildung 12.41):

Abbildung 12.41: Block auf der Website Um den Block nur auf den Standortseiten anzuzeigen, müssen Sie in der Konfiguration des Blocks die entsprechenden Parameter setzen, in meinem Fall sind das die Inhalte mit der ID 33 und 34 (Abbildung 12.42):

Abbildung 12.42: Blockeinstellungen

304

12.8 Weitergabe von Ansichten

12.8

Weitergabe von Ansichten

Sie können fertige Ansichten importieren und exportieren. Auf der Buch-CD finden Sie die Ansicht Fahrzeugliste in der Textdatei fahrzeugliste.txt. Wenn Sie die Daten importieren wollen, klicken Sie auf VERWALTEN – STRUKTURIERUNG – ANSICHTEN – IMPORTIEREN, geben der neuen Ansicht einen Namen und kopieren den Quellcode aus der Textdatei in das Beschreibungsfeld. Falls Sie einen WYSIWYG-Editor installiert haben, der eventuell den Quellcode verändert, können Sie ihn durch einen Klick auf den Link SWITCH TO PLAIN EDITOR ausschalten. Klicken Sie anschließend auf den Button IMPORTIEREN (Abbildung 12.43).

Abbildung 12.43: Import einer vorhandenen Ansicht Danach erscheint die Ansicht, so wie Sie hier im Buch beschrieben worden ist, in der Bearbeitungsansicht. Sie müssen hier auf den Button SPEICHERN klicken und können danach die Ansicht verwenden. Der Export funktioniert analog zum Import. Hier klicken Sie innerhalb der Bearbeitungsansicht auf den Link EXPORTIEREN und kopieren den Quellcode, der Ihnen angeboten wird, in eine Textdatei.

305

13 Nützliche Module In diesem Kapitel möchte ich Ihnen nützliche Drupal-Module vorstellen, die auf vielen Websites benötigt werden. Ich denke da an  Formulare und Auswertungen (Webform),  das Kopieren von Inhalten (Node Clone),  automatisch gekennzeichnete externe Links (External Links),  Module, die gegen Spam schützen,  Zugriffsstatistiken über ein Tool wie Google Analytics,  Internationalisierung (i18n)  und ein Modul, das wir bereits in Kapitel 10 benutzt haben, um das eigene Ent-

wickeln von Themes zu erleichtern (Devel). Hinweis Ein paar dieser Module befinden sich für Drupal 6 noch im Beta-Status. Sie sollten sie erst auf einer produktiven Website benutzen, wenn eine stabile Version vorliegt.

Außer dieser sehr subjektiven Auswahl hilft Ihnen bei einer konkreten Anforderung immer ein Blick in die Übersicht aller für Drupal zur Verfügung stehenden Module.1 Wenn Sie sich auf drupal.org ein Benutzerkonto anlegen und damit anmelden, können Sie die Übersicht nach den unterschiedlichen Drupal-Versionen filtern. Im Juni 2008 ergibt eine Zählung der zur Verfügung stehenden Module:  Drupal 4.7-Module: 1.383  Drupal 5-Module: 3.606  Drupal 6-Module: 1.149

1

http://drupal.org/project/Modules

13 Nützliche Module

13.1

Webform: Formulare erstellen und auswerten

Mit dem Modul Webform können Sie sehr komfortabel auch komplexe Formulare gestalten und die Ergebnisse auswerten. Das Modul liegt momentan in einer BetaVersion vor. Es funktioniert tadellos, bedarf aber noch der Feinarbeit im Quellcode.

13.1.1

Entpacken und installieren des Moduls

Laden Sie sich die Datei webform-6.x-2.0-beta6.tar.gz von der Projektwebsite2 oder der Buch-CD und entpacken Sie sie in den Ordner /sites/all/modules. Aktivieren Sie das Modul und setzen Sie die Benutzerberechtigungen. In den Benutzerberechtigungen geht es in erster Linie um die Auswertung der Formulareingaben. Das Formular an sich ist erreichbar, wenn die Gäste oder Benutzer das Recht haben, Inhalte zu sehen.

13.1.2

Konfiguration des Moduls

Im Bereich VERWALTEN – EINSTELLUNGEN gibt es einen neuen Eintrag mit dem Namen WEBFORM. Hier können Sie die Standardeinstellungen für alle Formulare festlegen (Abbildung 13.1):

Abbildung 13.1: Einstellungen – Webform Diese drei Bereiche möchte ich Ihnen im Folgenden kurz vorstellen.

Verfügbare Komponenten (Available components) Ein Formular besteht aus verschiedenen Komponenten wie Textfeldern und Checkboxen. Hier können Sie aus einer beeindruckenden Anzahl von verfügbaren Komponenten auswählen, welche davon Sie benutzen wollen (Abbildung 13.2):

2

http://drupal.org/project/webform

308

13.1 Webform: Formulare erstellen und auswerten

Abbildung 13.2: Verfügbare Formularkomponenten

Standard E-Mail-Adresse Jedes Formular benötigt einen Absender und einen Betreff. Der Absender besteht aus E-Mail-Adresse und Name, der Betreff standardmäßig aus einem Text und dem späteren Titel, der Überschrift, des Formulars, der hier als Variable [title] eingebunden wird (Abbildung 13.3).

Erweiterte Einstellungen Hier können Sie zwei Einstellungen vornehmen, die unter Umständen sehr wichtig werden können (Abbildung 13.4). Formulare werden oft von Spammern missbraucht, da sie im Normalfall auch Gästen zugänglich sind. Das Modul Webform nutzt intern verschiedene Methoden, um sicherer zu sein, dass es sich um einen Menschen handelt, der das Formular ausfüllt.

309

13 Nützliche Module

Abbildung 13.3: Absenderangaben für Formulare

Abbildung 13.4: Webform – Erweiterte Einstellungen Zusätzlich können Sie durch Ankreuzen der Checkbox das Setzen eines Cookies im Browser des Formularbenutzers einschalten und dadurch evtl. Missbrauch besser verhindern. Wenn sich ein Cookie setzen lässt, hat es das Formular mit größerer Wahrscheinlichkeit mit einem Browser zu tun. Eine weitere Methode ist der Schutz durch einen Spamfilter und/oder ein Captcha (siehe Abschnitt 13.5, Kampf gegen Spam). Eine weitere nützliche Einstellung ist das Logging der abgeschickten Formulare über Drupals Berichtssystem (Webforms Debug). Wenn Sie in der Liste LOG SUBMISSIONS auswählen, wird jedes abgeschickte Formular im Berichtssystem erfasst. Das verhindert zwar keinen Spam, erzeugt aber bei jedem Abschicken eines Formulars eine Systemmeldung.

13.1.3

Erstellen Sie ein neues Formular

Wir wollen ein Formular für einen Autohändler erstellen, in dem ein Kunde einen Wunschtermin für eine Probefahrt mit einem Neuwagen vereinbaren kann. Das Formular soll die Felder Autotyp, Terminvorschlag, Name, E-Mail und Telefonnummer enthalten. Wenn Sie auf den Link INHALT ERSTELLEN klicken, sehen Sie einen neuen Inhaltstyp mit dem Namen Webform (Abbildung 13.5):

310

13.1 Webform: Formulare erstellen und auswerten

Abbildung 13.5: Webform erstellen Die für das Formular relevanten Einstellungen befinden sich hinter den drei Links, die mit dem Wort WEBFORM beginnen.

Webform Einstellungen TITEL: Der Titel des Formulars (Probefahrt vereinbaren) BESCHREIBUNG: Hier können Sie einen einleitenden Text angeben, der über den Formular-Feldern angezeigt wird. BESTÄTIGUNGSNACHRICHT ODER WEITERLEITUNGS-URL: Hier können Sie entweder einen Text angeben, der angezeigt wird, nachdem das Formular abgeschickt worden ist, oder eine URL, zu der nach Abschicken des Formulars verzweigt werden soll.

Webform mail settings AN E-MAIL-ADRESSE SENDEN: Hier müssen Sie die E-Mail-Adresse angeben, an die die Formulardaten per E-Mail geschickt werden sollen. In den Feldern E-MAIL VON NAME, E-MAIL VON ADRESSE und BETREFFZEILE DER E-MAIL können Sie die Standardvorgaben, die Sie in den Einstellungen festgelegt haben, für dieses Formular überschreiben. Im aufklappbaren Feld CONDITIONAL E-MAIL RECIPIENTS können Sie, wenn in Ihrem Formular ein E-Mail-Feld vorkommt, an diese E-Mail-Adresse ebenfalls eine Bestätigung schicken.

Webform advanced settings SHOW COMPLETE FORM IN TEASER: Wenn Sie diese Checkbox ankreuzen, wird sichergestellt, dass immer das ganze Formular angezeigt wird, auch in einer Liste mit TeaserAnsicht (Abbildung 13.6).

311

13 Nützliche Module

BEGRENZUNG: Sie können die maximalen Ausfüllvorgänge in einer bestimmten Zeit beeinflussen. Das ist vorteilhaft gegen Spammer, die Ihre Formulare benutzen, um Werbung abzusetzen. Eine Einstellung von maximal fünf Ausfüllvorgängen pro Stunde wird für das Probefahrt-Formular sicher reichen (Abbildung 13.6). SUBMIT BUTTON TEXT: Hier können Sie eine individuelle Beschriftung für den Absende-Button eingeben (Abbildung 13.6).

Abbildung 13.6: Webform – erweiterte Einstellungen In den Feldern ADDITIONAL VALIDATION und ADDITIONAL PROCESSING können Profis noch PHP-Code eingeben, der bei der Überprüfung des Formulars besondere Aufgaben ausführt, beispielsweise die Weitergabe der Variablen an eine andere Anwendung. Nach einem Klick auf den Button SPEICHERN wird das Formular mit dem Status nicht veröffentlicht angelegt. Die Anzeige wechselt automatisch in das Formular zur Erstellung der Formularfelder.

Abbildung 13.7: Webform – Ansicht nach dem ersten Speichervorgang

312

13.1 Webform: Formulare erstellen und auswerten

13.1.4

Erstellen Sie Formularfelder

Jetzt können Sie die Formularkomponenten auswählen und durch einen Klick auf den Button HINZUFÜGEN dem Formular zuordnen.

Feld Autotyp: Schön wäre eine Liste mit den für Probefahrten zur Verfügung stehenden Autotypen. Wählen Sie die Formularkomponente SELECT aus und klicken Sie auf HINZUFÜGEN. Bei der SELECT-Komponente können Sie die gewünschten Auswahlen manuell festlegen. Wählen Sie folgende Werte: BEZEICHNUNG: Autotyp FELDSCHLÜSSEL: autotyp STANDARDWERT: Dieses Feld können Sie leer lassen. OPTIONEN: Geben Sie hier pro Zeile einen Autotyp ein. Falls Sie den WYSIWYG-Editor aktiviert haben, klicken Sie vorher auf den Link SWITCH TO PLAIN EDITOR (Abbildung 13.8).

Abbildung 13.8: Auswahlen für Autotyp BESCHREIBUNG: Die Beschreibung wird später unter dem Eingabefeld stehen und ist sehr hilfreich für den Benutzer. OBLIGATORISCH: Kreuzen Sie dieses Feld an, damit der Benutzer im Autotyp-Feld einen Wert angeben muss.

Feld Termin: Der Kunde soll vorschlagen, an welchem Tag er eine Probefahrt unternehmen möchte. Wählen Sie in diesem Fall die Komponente Date. Füllen Sie die folgenden Felder aus: BEZEICHNUNG: Termin FELDSCHLÜSSEL: termin STANDARDWERT: today+1 (entspricht dem Wert »morgen«)

313

13 Nützliche Module

ZEITZONE: Website Timezone (Die Zeitzone ist bei einem Kunden, der eine Probefahrt unternehmen will, vermutlich die gleiche wie die des Händlers.) OBLIGATORISCH: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.

Feld Uhrzeit ab: Der Kunde soll vorschlagen, um wie viel Uhr er die Probefahrt unternehmen möchte. Wählen Sie in diesem Fall die Komponente Time. Füllen Sie die folgenden Felder aus: BEZEICHNUNG: Uhrzeit ab FELDSCHLÜSSEL: uhrzeit_ab STANDARDWERT: 9:00 am – Ab neun Uhr morgens (am) ist eine Probefahrt möglich. ZEITZONE: Website Timezone (Die Zeitzone ist bei einem Kunden, der eine Probefahrt unternehmen will, vermutlich die gleiche wie die des Händlers.) ZEITFORMAT: 24-hour OBLIGATORISCH: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.

Feld Name und Telefonnummer: Der Kunde soll seinen Namen und seine Telefonnummer eingeben. Das sind einfache Textfelder (Komponente textfield).

Feld E-Mail-Adresse: Der Kunde soll seine E-Mail-Adresse angeben (Komponente email). An diese E-Mail, soll auch eine Kopie der Formularwerte geschickt werden. BEZEICHNUNG: E-Mail FELDSCHLÜSSEL: email STANDARDWERT: Kreuzen Sie die Checkbox BENUTZER E-MAIL IST STANDARDWERT an. Falls der Kunde ein Benutzerkonto auf der Website hat und angemeldet ist, wird hier seine E-Mail-Adresse aus dem Benutzerkonto eingeblendet. E-MAIL A SUBMISSION COPY: Kreuzen Sie die Checkbox an und schicken Sie dem Kunden eine Kopie der Formulareingaben per E-Mail. OBLIGATORISCH: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.

Komponente Feld Ein Feld ist ein zusammenklappbarer Bereich, der Formularfelder enthält. Legen Sie zwei Bereiche an, nennen Sie die Felder Probefahrt und persönliche Daten, kreuzen

314

13.1 Webform: Formulare erstellen und auswerten

Sie die Checkbox ZUSAMMENKLAPPBAR an und ordnen Sie nach dem Speichern in der Übersicht die anderen Felder zu (Abbildung 13.9).

Abbildung 13.9: Formularfelder Das Formular ist jetzt fertig. Falls Sie einen Menüeintrag erstellen wollen, können Sie das im Bearbeitungsmodus im Bereich MENÜEINSTELLUNGEN erledigen. In den KOMMENTAREINSTELLUNGEN können Sie die Kommentare deaktivieren. Außerdem müssen Sie das Formular im Bereich VERÖFFENTLICHEN »freischalten« (Abbildung 13.10).

Abbildung 13.10: Veröffentlichen des Formulars

13.1.5

Füllen Sie Ihr Formular aus

Wenn Sie Ihr Formular im Anzeigemodus ansehen, sieht es schon sehr eindrucksvoll aus. Die Bereiche PROBEFAHRT und PERSÖNLICHE DATEN klappen bei einem Klick auf den Link auf und zu. Der Button hat die richtige Beschriftung (Abbildung 13.11). Füllen Sie das Formular aus und schicken es ab. Je nach Ihrer Konfiguration erhalten Sie eine E-Mail (wenn Sie live im Internet arbeiten) wie in Abbildung 13.12. Den Text der E-Mail kann man über die Verwaltungsoberfläche leider nicht ändern.

315

13 Nützliche Module

Abbildung 13.11: Fertiges Formular

Abbildung 13.12: Bestätigungs-E-Mail

316

13.2 Node Clone: Inhalte kopieren

13.1.6

Werten Sie die Eingabe aus

Wenn Sie im Formular auf den Reiter ERGEBNISSE klicken, haben Sie verschiedene Ansichten auf die Daten der ausgefüllten Formulare (Abbildung 13.13).

Abbildung 13.13: Tabellenauswertung des Formulars Durch einen Klick auf HERUNTERLADEN können Sie die Formulardaten im CSV-Format herunterladen und dann weiterbearbeiten (Abbildung 13.14).

Abbildung 13.14: Formulardaten in OpenOffice Calc

13.2

Node Clone: Inhalte kopieren

Wenn Sie auch gerade ein Formular erstellt haben, vielleicht ein mehrseitiges, kompliziertes Formular, dann kann es passieren, dass Sie so ein ähnliches Formular noch einmal benötigen. Wenn Sie das Formular neu erstellen, verlieren Sie viel Zeit. Dieses Problems nimmt sich das Modul Node Clone an. Wie der Name schon sagt, kann dieses Modul Inhalte kopieren. Das Schöne daran ist, dass das für alle Inhaltstypen funktioniert, auch mit Feldern, die per CCK oder Webform hinzugefügt worden sind. Nach der Installation, Aktivierung (Node clone-Modul) und dem Setzen der Benutzerrechte müssen Sie unter VERWALTEN – EINSTELLUNGEN – CLONE NODE noch ein paar Werte setzen.

317

13 Nützliche Module

METHOD TO USE WHEN CLONING A NODE: Hier geht es darum, ob Sie gleich einen neuen Inhalt erzeugen und in der Datenbank abspeichern wollen oder die Eingaben in der Kopie des Inhalts eingeben wollen. Ich empfehle Ihnen die erste Variante. SHOULD THE PUBLISHING OPTIONS (E. G. PUBLISHED, PROMOTED ETC.) BE RESET TO THE Sollen die Veröffentlichungseinstellungen zurückgesetzt werden? Ja, auf jeden Fall! Sie können das hier pro Inhaltstyp ankreuzen. DEFAULTS?:

OMITTED CONTENT TYPES: Für welche Inhaltstypen soll das Kopieren nicht zugelassen werden? Wählen Sie hier die gewünschten Inhaltstypen aus, die Sie vom Kopieren ausnehmen wollen. Wenn Sie nun auf Ihr Formular gehen, erscheint ein neuer Reiter mit dem Namen DUPLIZIEREN (Abbildung 13.15).

Abbildung 13.15: Kopieren des Formulars Wenn Sie diesen Button anklicken, wird Ihr Formular kopiert, und Sie können es für Ihren neuen Zweck anpassen.

13.3

External Links und Smileys

Zwei weitere nützliche Module sind zum einen das External Links-Modul (extlink-6.x1.6.tar.gz)3 und zum anderen das Smileys-Modul (smileys-6.x-1.0-alpha1.tar.gz).4

13.3.1

Das Modul External Links

Sie müssen das Modul nur installieren und unter VERWALTUNG – STRUKTIERUNG – MODULE aktivieren, es gibt keine weiteren Einstellungsmöglichkeiten. Wenn jetzt in Ihren Inhalten Links zu externen Websites vorkommen, so hängt das Modul dort ein Symbol an einen Link (Abbildung 13.16):

Abbildung 13.16: Symbol für externe Links

3 4

http://drupal.org/project/extlink http://drupal.org/project/smileys

318

13.3 External Links und Smileys

13.3.2

Das Modul Smileys

Smileys oder Emoticons sind diese kleinen Symbole wie :-) für einen fröhlichen Zustand und :-( für einen traurigen Zustand.5 Auf Firmenseiten trifft man diese kleinen Symbole noch selten an. Im Community Bereich und in privaten E-Mails sind sie seit Langem ein fester Bestandteil der Kommunikation. Das Modul Smileys stellt einen Eingabeformat-Filter bereit, der die Texteingaben im Inhalt in Icons ändert. Nach der Installation und Aktivierung des Moduls finden Sie im Bereich VERWALTEN – EINSTELLUNGEN – SMILEYS viele Möglichkeiten der Konfiguration (Abbildung 13.17).

Abbildung 13.17: Smiley-Verwaltung Sie können die Standardeinstellungen ohne Änderungen übernehmen. Um die Smileys zu aktivieren, müssen Sie sie unter VERWALTEN – EINSTELLUNGEN – EINGABEFORMATE im gewünschten Format per Checkbox aktivieren (Abbildung 13.18).

Abbildung 13.18: Smiley-Filter aktivieren 5

http://de.wikipedia.org/wiki/Emoticon

319

13 Nützliche Module

Nach der Aktivierung werden die Texteingaben in der Form :-) und :-( umgewandelt in Icons (Abbildung 13.19).

Abbildung 13.19: Smileys im Inhalt

13.4

Google Analytics: externe Statistiken

Außer der Drupal-internen Statistik gibt es natürlich viele externe Statistik-Tools, um die Zugriffe auf einer Website auszuwerten. Eines der bekanntesten, kostenlosen Tools ist Google Analytics.6 Hier ein Beispiel einer Auswertung über die Herkunft der Websitebesucher in einem bestimmten Zeitraum aus einem bestimmten Land (Abbildung 13.20):

Abbildung 13.20: Google Analytics-Beispiel

6

http://de.wikipedia.org/wiki/Google_Analytics

320

13.4 Google Analytics: externe Statistiken

Die Funktionsweise von Google Analytics ist prinzipiell sehr einfach. Man kopiert sich einen von Google zur Verfügung gestellten Code in den HTML-Code seiner Website oder wie im Falle von Drupal in die Datei page.tpl.php des Themes, und schon fängt Google an zu zählen. Wenn allerdings ein Update des Themes kommt oder man an manchen Stellen ein anderes Theme haben will, muss man immer daran denken, nach der Aktualisierung den Quellcode von Google wieder einzufügen. Das Google Analytics-Modul7 nimmt sich dieses Problems an und bietet natürlich auch noch Mehrwert. Man  kann einzelne Benutzer verfolgen,  kann einzelne Rollen verfolgen,  hat Einfluss darauf, welche Links von Google Analytics erfasst werden,  kann auswerten, welche Dateien von der Website heruntergeladen werden,  kann den Google Analytics-Quellcode cachen, um den Seitenaufbau zu beschleu-

nigen und man  kann sicherstellen, dass Administrator-Zugriffe nicht gezählt werden.

Abbildung 13.21: Google Analytics-Einstellungen Nach der Installation und Aktivierung des Moduls müssen Sie nur Ihre Google Analytics-Kontonummer in VERWALTEN – EINSTELLUNGEN – GOOGLE ANALYTICS hinterlegen. Um eine Kontonummer zu erhalten, müssen Sie sich ein Benutzerkonto in 7

http://drupal.org/project/google_analytics

321

13 Nützliche Module

Google Analytics einrichten. In der Abbildung 13.21 sehen Sie den entsprechenden Bereich der Website zum Buch.8 Da Sie es in diesem Fall mit zwei Anwendungen, Drupal und Google Analytics, zu tun haben, möchte ich an dieser Stelle nicht auf weitere Konfigurationen eingehen. Von der Drupal-Seite aus sind die Einstellungen im Konfigurationsformular weitgehend selbsterklärend und vor allem komplett in deutscher Sprache!

13.5

Kampf gegen Spam

Ein gibt zwei gute Methoden gegen Spam. Die eine Methode ist sehr einfach und effektiv und heißt Mollom. Mollom ist ein Service, der unter anderem von Dries Buytaert, dem Erfinder von Drupal, und Benjamin Schrauwen betrieben wird. Die andere Methode ist auch nicht wirklich schwer, muss aber innerhalb von Drupal aufwändiger konfiguriert werden und ist nicht immer so erfolgreich wie Mollom. Ich spreche von dem Drupal-Modul Captcha.

13.5.1

Mollom

Um das Mollom-Modul von Drupal nutzen zu können, benötigen Sie ein Benutzerkonto auf http://mollom.com und eine Drupal-Website im Internet. Die Idee hinter diesem Service ist so einfach wie effektiv. Wenn ein Benutzer einen Kommentar oder andere Formulare auf Ihrer Website postet, wird die Eingabe zunächst an den Mollom-Server geschickt. Das Mollom-System überprüft die Eingabe und entscheidet, ob es sich um Spam oder Ham (korrekte Posts) handelt. Ihr Webserver nimmt den Inhalt abhängig von Molloms Entscheidung an oder eben nicht. Je mehr Beiträge Mollom zur Prüfung vorgelegt werden, desto besser sind die Ergebnisse der Prüfung. Die Datenübertragung erfolgt verschlüsselt. Installieren und aktivieren Sie das Modul Mollom.9 In Ihrem Benutzerkonto auf der Mollom-Website müssen Sie die zu schützende Website eingeben. Sie erhalten dann einen öffentlichen und einen privaten Schlüssel (Abbildung 13.22). Diese beiden Schlüssel tragen Sie unter VERWALTEN – EINSTELLUNGEN – MOLLOM in das Formular ein (Abbildung 13.23). Nach dem Absenden des Formulars und Kontaktaufnahme mit dem Mollom-Server haben Sie Zugriff auf den Konfigurationsbereich von Mollom. Sie haben dort eine NUTZUNGSSTATISTIK, die SPAMSCHUTZEINSTELLUNGEN, die SERVEREINSTELLUNGEN und die MOLLOM ZUGANGSSCHLÜSSEL.

8 9

http://drupal.cocoate.com http://drupal.org/project/mollom

322

13.5 Kampf gegen Spam

Abbildung 13.22: Schlüsselerzeugung auf mollom.com

Abbildung 13.23: Hinterlegen der Schlüssel auf drupal.cocoate.com Im Bereich SPAMSCHUTZEINSTELLUNGEN müssen Sie festlegen, welche Formulare geschützt werden sollen. Je nach Anzahl Ihrer Module kann da eine stattliche Menge zustande kommen. Sie können übrigens auch Ihre selbst erstellten Formulare (Webform-Module) schützen (Abbildung 13.24).

Abbildung 13.24: Zu schützende Formulare Das Drupal-Modul ist sehr ausführlich in deutscher Sprache dokumentiert, und Sie können die Kriterien, was Spam und was Ham ist, im Verwaltungsbereich des Drupal-Moduls einstellen.

323

13 Nützliche Module

Nach diesen Einstellungen ist Mollom einsatzbereit. Der Service ist in der Beta-Phase und momentan kostenlos. Er soll auch in Zukunft kostenlos bleiben. Wenn Sie allerdings eine sehr große Website mit extrem viel Traffic damit schützen wollen, wird es in Zukunft dafür ein Preismodell geben.10

13.5.2

Das Captcha-Modul

Ein Captcha11 ist eine Art Rätsel, das der Benutzer lösen muss, damit er ein Formular absenden darf. Das kann ein Bild mit verzerrten Buchstaben sein, eine Rechenaufgabe oder eine andere Aufgabe, die für Menschen einfach, für Computer allerdings fast unmöglich zu lösen ist. Für Drupal 6 gibt es das Modul Captcha.12 Achtung Sie können entweder Mollom oder Captcha benutzen. Um beide Systeme ausprobieren zu können, reicht es, wenn Sie das jeweils andere Modul deaktivieren.

Das Captcha-Modul besteht aus drei Teilen (Abbildung 13.25):

Abbildung 13.25: Captcha-Modul Abhängig davon, ob Sie ein Bild- oder ein Text-Captcha einsetzen wollen, können Sie die entsprechenden Module aktivieren. UNTER VERWALTEN – BENUTZER – CAPTCHA können Sie das Modul konfigurieren. Außer diesen vordefinierten Optionen gibt es weitere Module, die die Fähigkeiten des Captcha-Moduls erweitern.13 10 11 12 13

http://mollom.com/pricing http://de.wikipedia.org/wiki/Captcha http://drupal.org/project/captcha http://drupal.org/project/riddler http://drupal.org/project/captcha_pack

324

13.5 Kampf gegen Spam

13.5.3

Beispiel: Ein Bild-Captcha für das Probefahrt-Formular

Damit die verzerrten Zeichen in dem Bild erzeugt werden können, benötigt das Captcha-Modul TrueType-Fonts. Freie TrueType-Fonts finden Sie online.14 Kopieren Sie die Dateien mit der Endung .ttf in das Verzeichnis [Drupal]/sites/all/modules/ captcha/image_captcha/fonts (Abbildung 13.26).

Abbildung 13.26: True Fonts für das Captcha-Modul Danach können Sie unter VERWALTEN – BENUTZERVERALTUNG – CAPTCHA – IMAGE CAPTCHA verschiedene Schriften und Einstellungen ausprobieren, bis Ihnen das Captcha gefällt (Abbildung 13.27).

Abbildung 13.27: Konfiguration Image-Captcha 14 http://download.savannah.gnu.org/releases/freefont/

325

13 Nützliche Module

Als letzten Schritt müssen Sie das Captcha dem Formular zuordnen. Da das Webform-Modul nicht im Core vorhanden ist, hat das Captcha-Modul die Möglichkeit, so genannte Administrationslinks in jedem Formular auf der Website anzuzeigen. Diese Links sieht nur der eingeloggte Administrator und kann damit ein einzelnes Formular mit einem Captcha versehen. Kreuzen Sie die entsprechende Checkbox an und ordnen bei der Gelegenheit gleich noch ein paar anderen Formularen ein Image-Captcha zu. (Abbildung 13.28).

Abbildung 13.28: Zuordnung der Captchas Wenn Sie nun auf die Seite mit dem Probefahrt-Formular gehen, werden Sie den Administrationslink sehen (Abbildung 13.29).

Abbildung 13.29: Administrationslink im Formular Klicken Sie auf den Link PLACE A CAPTCHA HERE FOR UNTRUSTED USERS und wählen Sie das Image CAPTCHA aus (Abbildung 13.30).

326

13.6 i18n: Internationalisierung

Abbildung 13.30: Zuordnung – CAPTCHA → Formular Nach dieser Zuordnung erscheint Ihr Captcha unter dem Formular und schützt Sie wirkungsvoll vor Spam (Abbildung 13.31).

Abbildung 13.31: Durch Captcha geschütztes Formular

13.6

i18n: Internationalisierung

Das Thema Internationalisierung ist in weiten Teilen bereits im Core von Drupal integriert. Sie können mehrere Oberflächensprachen installieren, Sie können Inhalte und einzelne Sprachstrings übersetzen. Was allerdings fehlt, sind beispielsweise:  Beschreibungen für Inhaltstypen  Beschreibungen in Einstellungen – Website (Sitename, Slogan, Mission)

327

13 Nützliche Module

 Kategoriebegriffe können nicht übersetzt werden.  Menübegriffe können nicht übersetzt werden.  Profilfelder können nicht übersetzt werden.  CCK-Feldbeschreibungen können nicht übersetzt werden.  Und weitere »Kleinigkeiten« ...

Sie merken schon ... für eine mehrsprachige Website gibt es noch eine Menge zu tun. Das i18n-Modul15 bietet Ihnen all diese Features und sorgt für saubere mehrsprachige Websites. Es besteht aus vielen kleinen Modulen, die sich jeweils eines Themas aus der obigen Liste annehmen. Abhängig von Ihren Bedürfnissen müssen Sie die Module aktivieren (Abbildung 13.32).

Abbildung 13.32: i18n-Modul Das i18n-Modul ist ausführlich beschrieben und weitgehend selbsterklärend. Ich möchte Ihnen ein Beispiel zeigen.

15 http://drupal.org/project/i18n

328

13.6 i18n: Internationalisierung

13.6.1

Beispiel 1: eine mehrsprachige Navigation mit unterschiedlichen Menüeinträgen

Wenn Sie eine 1:1-Übersetzung Ihrer Menüs benötigen, so können Sie in VERWALTEN – STRUKTURIERUNG – MENÜS Ihren Menüeinträgen nach der Aktivierung von MULTILINGUAL MENU eine Sprache zuordnen (Abbildung 13.33).

Abbildung 13.33: Sprachauswahl in einem Menüeintrag Abhängig von der Oberflächensprache werden die Menüeinträge angezeigt, die der gleichen Sprache zugeordnet sind oder die für alle Sprachen gelten. Wenn Sie unterschiedliche Links hinterlegen wollen, bietet sich diese Möglichkeit an.

13.6.2

Beispiel 2: eine mehrsprachige Navigation mit unterschiedlichen Menüs

Manchmal haben mehrsprachige Websites auch unterschiedliche Strukturen. In diesem Fall können Sie jeweils ein Menü für eine Sprache anlegen (Abbildung 13.34).

Abbildung 13.34: Drei Menüs für drei Sprachen

329

13 Nützliche Module

Die Menüs erzeugen jeweils einen Block. Diesem Block können Sie unter VERWALTEN – STRUKTURIERUNG – BLÖCKE eine Sprache zuordnen. Hier beispielsweise dem Block für das englische Hauptmenü (Abbildung 13.35).

Abbildung 13.35: Sprache im Block zuordnen Zuletzt müssen Sie die Blöcke noch in die gewünschte Region positionieren (Abbildung 13.36).

Abbildung 13.36: Für jede Sprache einen Block Je nach Oberflächensprache wird jetzt der entsprechende Block angezeigt.

13.6.3

Devel: Hilfe bei der Entwicklung neuer Themes und Module

Das Devel-Modul16 ist immer eines der ersten Module, die für eine neue Drupal-Version fertiggestellt werden. Es steht bereits heute als Entwicklungsversion für Drupal 7 zur Verfügung. Es bietet viele Hilfestellungen, die es Theme- und Modul-Entwicklern erheblich erleichtern, ihrer Arbeit nachzugehen. 16 http://drupal.org/project/devel

330

13.6 i18n: Internationalisierung

Das Modul hat für den normalen Anwender keine Bedeutung. Nach der Installation finden sich folgende Module im Bereich devel (Abbildung 13.37):

Abbildung 13.37: Devel-Modulpaket

13.6.4

Devel Module

Das Devel-Modul stellt Blöcke mit Links auf Funktionen bereit, die für die Modulentwicklung sehr hilfreich sind (Abbildung 13.38).

Abbildung 13.38: Development-Block

331

13 Nützliche Module

Außer diesem Block gibt es beispielsweise auch einen Block, mit dem sich PHP-Code ausführen lässt (Abbildung 13.39).

Abbildung 13.39: PHP-Block

13.6.5

Devel Generate Module

Dieses Modul erzeugt automatisch Benutzer, Inhalte und Vokabularbegriffe. Nach der Aktivierung steht Ihnen in der Verwaltung ein neuer Bereich zur Verfügung mit dem Namen BEITRÄGE GENERIEREN. Sie können dort per Mausklick die gewünschten Testdaten erzeugen (Abbildung 13.40).

Abbildung 13.40: Testdatenerzeugung – hier Benutzer

13.6.6

Devel node access Module

Dieses Modul stellt Funktionen zur Verfügung, die die Zugriffe auf Node-Ebene analysieren. Manche contributed Module verändern die Zugriffsbedingungen. Für Inhalte, die zum Zeitpunkt der Aktivierung schon vorhanden waren, kann das ein Problem darstellen. Sie werden dann unter Umständen nicht in die neuen Berechtigungsschemata integriert. Das Modul bietet hier umfangreiche Hilfestellungen. Bedienbar ist es über den Development-Block.

332

13.6 i18n: Internationalisierung

13.6.7

Macro Module

Das Macro-Modul zeichnet Formulareingaben auf und verwandelt sie in PHP-Code. Dieser PHP-Code kann gespeichert und später wieder ausgeführt werden. Wenn Sie beispielsweise einen neuen Inhaltstyp anlegen, können Sie den Makrorekorder in VERWALTEN – STRUKTURIERUNG – MAKRO ENGINE einschalten (Abbildung 13.41).

Abbildung 13.41: Makro Engine

Abbildung 13.42: Aufgezeichnete Befehle Diesen PHP-Code können Sie in einer anderen Drupal-Website über den Reiter IMPORTIEREN wieder einfügen.

13.6.8

Theme developer Module

Dieses Modul stellt die Informationen bereit, die Sie im Kapitel 10 benötigen. In der linken unteren Ecke des Browsers erscheint eine Checkbox mit dem Namen THEMER INFO. Wenn Sie diese ankreuzen, erscheint im oberen rechten Bereich eine Box mit Informationen zu diesem Element. Sie können die Informationsbox mit der Maus an eine beliebige Stelle auf der Website ziehen (Abbildung 13.43).

333

13 Nützliche Module

Abbildung 13.43: Themer Info-Boxen

334

A Anhang A.1

Drupal-Backup und -Restore

Backups oder auf Deutsch Datensicherungen sind wichtig, sehr wichtig. Man lernt das oft, nachdem man einmal kein Backup gemacht hat und dann ohne Daten da steht. Der Lerneffekt ist unglaublich. Man lernt es selten durch Bücher wie dieses hier, aber ich gebe die Hoffnung nicht auf :-). Das hat viel damit zu tun, dass das Backup an sich noch relativ einfach ist. Im RestoreVorgang oder zu Deutsch der Wiederherstellung der Daten liegt oft ein viel größeres Risiko. Man sichert so fröhlich vor sich hin und glaubt sich in völliger Sicherheit. Dann sind die Daten weg, man greift zu seinem Backup, möchte die Daten wieder laden, und – es geht nicht! Dann haben Sie ein echtes Problem.

A.1.1

Wie sichere ich am besten?

Es gibt keinen goldenen Weg beim Sichern. Es gibt aber einen Satz, der in diesem Zusammenhang immer wieder grbraucht wird: Save early, save often. Die Art der Datensicherung hängt sehr von Ihrem System ab.  Wenn Sie lokal arbeiten, können Sie mal eben den kompletten XAMPP Lite-Ordner

komprimieren und als Archiv ablegen.  Wenn Sie einen eigenen dedizierten Server im Internet Ihr Eigen nennen, geht das

auch. Auf Apples Betriebssystem Mac OS X 10.5 gibt es eine Zeitmaschine, die automatisch sichert.1 Fragen Sie mal Ihren Provider nach einer Zeitmaschine – er wird milde lächeln. Ganz grundsätzlich funktioniert die Datensicherung eines Drupal-Systems in zwei Schritten:

Schritt 1 – Dateien sichern Egal, wo sich Ihr Drupal befindet, Sie müssen regelmäßig alle Drupal-Dateien sichern. Das geht lokal auf Ihrem PC über einen Dateimanager, im Internet geht es per FTP mit einem Programm Ihrer Wahl oder, wenn Sie die Berechtigung dazu haben, per Shell-Script. Manche Provider bieten als Dienstleistung auch eine automatisierte Sicherung an. 1

http://www.apple.com/macosx/features/timemachine.html

A Anhang

Schritt 2 – Datenbank sichern Die Sicherung der Datenbank ist schon eine etwas größere Herausforderung. Das Programm phpMyAdmin2 ist meistens verfügbar. In XAMPP Lite ist es enthalten, die meisten Provider bieten es ebenfalls in ihrer Verwaltungsoberfläche an. Um die Daten aus der MySQL-Datenbank der lokalen XAMPP Lite-Version zu exportieren, rufen Sie im Browser http://localhost/phpmyadmin auf, wählen die drupal62Datenbank aus und klicken auf den Reiter EXPORTIEREN. Klicken Sie auf ALLE AUSWÄHLEN, um alle Tabellen für den Export auszuwählen.  Kreuzen Sie im Bereich Struktur die Checkbox STRUKTUR und DROP TABLE an.

DROP TABLE fügt einen zusätzlichen SQL-Befehl in die Export-Datei ein, der dafür sorgt, dass beim späteren Import der Daten eventuell vorhandene Tabellen mit gleichem Namen gelöscht werden.  Kreuzen Sie im Bereich DATEN die Checkbox DATEN und ERWEITERTE INSERTS an.  Bei Kompression wählen Sie den Radio-Button ZIP-KOMPRIMIERT, was bei Daten-

bank-Daten einen großen Effekt hat. Die Übertragung der Daten wird erheblich schneller gehen.  Kreuzen Sie die Checkbox SENDEN an, um die Daten als Datei via Download zu er-

halten. Abschließend klicken Sie auf den Button OK (Abbildung A.1), und eine Datei drupal62.sql.zip wird Ihnen zum Download angeboten (Abbildung A.2).

Abbildung A.1: Exportieren der Datenbank aus phpMyAdmin 2

http://www.phpmyadmin.net/

336

A.2 Umzug einer lokalen Seite auf einen Server im Internet

Abbildung A.2: Speichern-Dialog der Sicherungsdatei Hinweis Zur Datenbanksicherung sind auch Programme wie MySQLDumper sehr hilfreich. http://www.mysqldumper.de/

A.2

Umzug einer lokalen Seite auf einen Server im Internet

Sie haben Ihre Drupal-Website lokal erstellt und wollen Sie nun ins Internet stellen? Wenn Sie die Sicherung aus dem Abschnitt A.1 ausgeführt haben, so haben Sie schon alle relevanten Daten zur Hand.

A.2.1

Schritt 1 – Dateien hochladen

Die Dateien Ihrer Drupal-Installation müssen Sie per FTP-Programm auf Ihren Webspace bei Ihrem Provider übertragen.

A.2.2

Schritt 2 – Datenbank einlesen

Die Datenbank-Daten müssen Sie wie beim Backup zunächst exportieren und dann in die Datenbank Ihres Providers importieren. Dazu müssen Sie sich in der Verwaltungsoberfläche Ihres Providers eine Datenbank und einen Datenbankbenutzer anlegen.

337

A Anhang

Falls Ihr Provider ebenfalls phpMyAdmin einsetzt, gibt es in der Oberfläche einen Reiter IMPORTIEREN. Laden Sie hier einfach die exportierte Zip-Datei hoch (Abbildung A.3).

Abbildung A.3: Datenbank importieren in phpMyAdmin Tipp Sie können phpMyAdmin natürlich auch selbst in Ihrem Webspace installieren, falls der Provider das Tool nicht anbietet: http://www. phpmyadmin.net/.

A.2.3

Schritt 3 – settings.php anpassen

Wenn die Datenbank eingespielt ist und die Dateien in das richtige Verzeichnis kopiert worden sind, müssen Sie noch die Datei settings.php in der Zeile 93 anpassen, denn vermutlich sind Datenbankname, Benutzername und das Passwort anders als in Ihrer lokalen Installation: $db_url = 'mysqli://[Datenbankbenutzer]:[Passwort]@[Hostname]/[Datenbankname]';

Tipp Wenn Sie eine Multisite-Installation online stellen wollen, müssen Sie jede settings.php anpassen. Außerdem müssen Sie jede Datenbank einrichten und dafür sorgen, dass der Webserver die Alias-Namen für die Websites in der Multisite-Installation erkennt. Meistens kann man in der Verwaltungssoftware des Providers Alias-Namen einer Domain hinzufügen.

338

A.3 System-Update Drupal 6.2 auf 6.x

A.3

System-Update Drupal 6.2 auf 6.x

Wenn aus einem Drupal 6.2 mal ein Drupal 6.3 oder 6.4 wird, müssen Sie die DrupalCore-Dateien austauschen und anschließend ein Datenbank-Update ausführen (siehe Abschnitt 9.3.3, Schritt 3 – Datenbank-Update ausführen). Durch den modularen Aufbau von Drupal ist ein System-Update meiner Meinung nach recht einfach Eine englische Anleitung finden Sie übrigens in der Datei [Drupal]/UPGRADE.txt. Weiterführende Informationen auf http://drupal.org/upgrade. Hier die Kurzfassung.

A.3.1

Bevor Sie updaten

Gehen Sie wie folgt vor:  Überprüfen Sie Ihr System, ob es die Mindestanforderungen der neuen Drupal-

Version erfüllt:3

 Sichern Sie Ihr Drupal (Dateien und Datenbanken).  Überprüfen Sie alle contributed Module, ob es eine Version für die neue Version gibt.  Überprüfen Sie alle contributed Themes, ob es eine Version für die neue Version gibt.

A.3.2

Das Update

Gehen Sie wie folgt vor:  Haben Sie gesichert?  Melden Sie sich mit dem Administrator-Benutzerkonto (User-ID 1). Nur dieser Benutzer darf das Datenbank-Update ausführen (update.php). Schließen Sie bis zum

Abschluss nicht das Browserfenster! Drupal setzt temporäre Cookies, die verloren gehen könnten.  Versetzen Sie die Website in den Wartungszustand.  Wenn Sie ein angepasstes oder contributed Theme benutzen, schalten Sie das Stan-

dardtheme auf Garland oder Bluemarine.  Deaktivieren Sie alle eigenen und contributed Module.  Löschen Sie alle Dateien aus dem Drupal-Verzeichnis.  Entpacken Sie die neue Drupal-Version in das Verzeichnis.  Kopieren Sie den gesicherten Ordner sites in Ihre neue Installation. Falls Sie eine angepasste .htaccess-Datei haben, sollten Sie versuchen, die Anpassungen in die neue .htaccess-Datei zu übernehmen. Es könnte sein, dass der Inhalt der neuen .htaccess-Datei verändert wurde. 3

http://drupal.org/requirements

339

A Anhang

 Überprüfen Sie alle Dateien settings.php, ob die Zugangsdaten zu den Datenban-

ken stimmen.  Rufen Sie die Datei http://www.[meindomainname]/update.php auf und führen Sie ein

Datenbank-Update durch. Falls Sie nicht angemeldet sind, können Sie in der Datei settings.php die Zeile $update_free_access = FALSE;

ändern in $update_free_access = TRUE;

Vergessen Sie nicht, die Änderung nach dem Update wieder rückgängig zu machen  Installieren Sie alle contributed Module und Themes im sites-Ordner und führen

erneut ein Datenbank-Update aus.  Aktivieren Sie alle contributed Module und Themes im sites-Ordner und führen er-

neut ein Datenbank-Update aus.  Aktivieren Sie Ihr gewünschtes Theme.  Schalten Sie den Wartungsmodus aus.

Das war's!

A.4

System-Update Drupal 5.x auf 6.x

Dieses Update ist unter Umständen komplexer, aber auch problemlos möglich. Bevor Sie den Versionssprung von 5 auf 6 machen, sollten Sie allerdings Ihr Drupal 5 auf die letzte aktuelle Version aktualisieren. Das größte Problem beim Update sind die Änderungen im neuen Core und die Frage, inwieweit diese Änderungen Einfluss auf die alten contributed Module in Ihrem Drupal 5 haben. Bei 3.500 Modulen für Drupal 5 und entsprechend vielen Einsatzszenarien kann Ihnen kein Mensch eine Antwort auf diese Frage geben. Je weniger contributed Module Sie einsetzen, desto einfacher wird das Update funktionieren. Meiner Erfahrung nach funktioniert das Update allerdings überraschend gut! Die Checkliste aus Abschnitt A.3 gilt also auch, bis auf eine Ausnahme, für einen Versionswechsel von 5 auf 6. Die Ausnahme ist die Anmeldung mit dem Administratorkonto. Sie können sie in diesem Fall nicht nutzen, da Drupal 6 die Benutzer-Sessions anders speichert. Bevor Sie das Datenbank-Update ausführen, müssen Sie daher in der Datei settings.php wie beschrieben die Zeile $update_free_access = FALSE;

ändern in $update_free_access = TRUE;

340

A.5 Inhalt der CD

Auch hier dürfen Sie nicht vergessen, die Änderung nach dem Update wieder rückgängig zu machen.

A.5

Inhalt der CD

Kapitel

Datei

Beschreibung

Kapitel 2

drupal-6.2.tar.gz

Drupal Core Distribution

de-6.x-1.x-dev.tar.gz

Deutsche Sprachdateien für Drupal

poormanscron-6.x-1.0.tar.gz

Modul Poormanscron

poormanscron-6.x-1.0.zip

Deutsche Sprachdatei für Poormanscron

admin_menu-6.x-1.x-dev.tar.gz

Modul Admin Menu

fourseasons-6.x-1.18.tar.gz

Theme Four Seasons

FCKeditor_2.6.zip

FCKeditor WYSIWYG-Editor

fckeditor-6.x-1.2-1.tar.gz

FCKeditor-Modul

tinymce_3_0_9.zip

Tiny MCE WYSIWYG-Editor

tinymce-6.x-1.1-dev.tar.gz

Tiny MCE-Modul

imce-6.x-1.0.tar.gz

IMCE-Modul – Dateimanager

admin_menu-6.x-1.0-beta.tar.gz

Neue Version des Admin Menu

httpd-vhosts.conf

Angepasste Konfigurationsdatei für Apache

firebug1.0-current.xpi

Firebug – Erweiterung für den FirefoxBrowser

devel-6.x-1.9.tar.gz

Developer-Modul

fourseasons-6.x-1.20.tar.gz

Neuere Version des Four Seasons-Themes

themesettingsapi-6.x-1.4.tar.gz

Theme Settings API-Modul

zen-6.x-1.0-beta2.tar.gz

Zen-Theme

cck-6.x-2.0-beta.tar.gz

CCK-Modul

contemplate-6.x-0.13.tar.gz

Contemplate-Modul

imceimage-6.x-1.x-dev.tar.gz

IMCE Image-Modul

jquery_plugin-6.x-1.3.tar.gz

Jquery Plugin-Modul

Kapitel 6

Kapitel 8

Kapitel 9

Kapitel 10

Kapitel 11

slideshow_creator-6.x-1.27.tar.gz Slideshow Creator-Modul

Kapitel 12

slideshowbeispiel.txt

Beispielcode für Slideshow

advanced_help-6.x-1.0.tar.gz

Advanced Help-Modul

views-6.x-2.0-beta4.tar.gz

Views-Modul

fahrzeugliste.txt

Exportierte Ansicht

341

A Anhang

Kapitel

Datei

Beschreibung

Kapitel 13

webform-6.x-2.0-beta6.tar.gz

Webform-Modul

node_clone-6.x-1.0-beta2.tar.gz

Node Clone-Modul

extlink-6.x-1.6.tar.gz

Extended Links-Modul

smileys-6.x-1.0-alpha1.tar.gz

Smileys-Modul

mollom-6.x-1.2.tar.gz

Mollom-Modul

captcha-6.x-1.0-rc2.tar.gz

Captcha-Modul

TrueTypeFont.zip

True Type-Fonts

google_analytics-6.x-1.2.tar.gz

Google Analytics-Modul

i18n-6.x-1.0-beta.tar.gz

i18n-Modul für Mehrsprachigkeit

7z457.exe

Packprogramm 7-zip

Firefox Setup 2.0.0.14.exe

Firefox-Browser Version 2.0

Firefox Setup 3.0.exe

Firefox-Browser 3.0

npp.4.9.2.Installer.exe

Notepad ++-Editor

poedit-1.4.1-setup.exe

Poedit – Übersetzungstool

xampplite-win32-1.6.6a.exe

XAMPP Lite

start.exe/start.html

Auszug aus dem Video-Training »Drupal 6« von Hagen Graf & Video2brain (ISBN 978-3-8273-6134-9)

Tools

VideoTraining Drupal 6 (Demo)

342

Stichwortverzeichnis Symbole *.tpl.php 247 .htaccess 186, 269 .po-Datei 171 ?q= 151 A Adobe Flex 50 Aktionen 175 Aktive Foreneinträge 201 Aktivieren 167 Aktualisierungsbenachrichtigungen 82, 223 Aktualisierungsstatus 224 Ansichten 289 erstellen 281 exportieren 305 importieren 305 Anzeige 289 Apache Rewrite Engine 83 Arbeitsablauf 137 Auslöser 177 B Backup 335 Bandbreitenoptimierung 189 Begriffe 141 Beitragseinstellungen 129 Benutzer 111 -Einstellungen 114 -Profile 120 -Verwaltung 112 Benutzerbilder 117 Berechtigungen 118 E-Mail-Einstellungen 115 E-Mail-Überprüfung 114 Nr.1 82 Persönliches Kontaktformular 160 Registrierungseinstellungen 114 Rollen 118 Signatur 116 Zugriffsregeln 118 Benutzerkonto-ID 126 Berichte 222

Bild-Toolkit 179 Blöcke 95, 155 -Cache 189 Benutzerspezifische Sichtbarkeit 157 hinzufügen 156 Rollenspezifische Sichtbarkeit 157 Seitenspezifische Sichtbarkeit 158 Blockspezifische Einstellungen 156 Blog 125 Breadcrumbs 92, 97 Buchgliederung 96 C Cache leeren 189 Caching 188 CCK (Content Construction Kit) 267 Layout 274 chmod 84 chown 84 CivicSpace 45 CMS (Content Management System) 36 Color Picker 105 Community Plumbing 39 Content Management Framework 37 CRM (Customer Relationship Management) 36, 38 Cron 166 CVS 263 D Data Mining 38 Data Warehouse 38 Dateianhänge 147 Dateirechte 84 Dateisystem 179, 225 Datenbank 70 Datenbank-Update 225, 228 Datum 180 Datumsformat 92, 181 Diskussionsforum 201 DMS 37 DNS-Auflösung 235 document root 63

Stichwortverzeichnis

Dokumentenverzeichnis 63 Drupal Association 34 Drupal Community 34 Drupal Companies 34 Drupal Conferences 34 Drupal Groups 34 Drupal Version 223 Drupal-Quellcode 69 Drupal-Webinstaller 76 Druplicon 33 E ECMS (Enterprise Content Management System) 37 Editoren 146, 197 FCKeditor 147 TinyMCE 147 Eigenes Theme 252 Eingabeformate 98, 145, 182 Einstellungen 175 ERP 36 externe Statistiken 320 F Feed Aggregator 132 Fehlermeldungen 185 Firebug 253 Flash 50 Flickr 214 Folksonomie 145 Formulare erstellen 308 Formularfelder 313 Forum 197 Forumsbeitrag 202 Forumscontainer 202 Free Tagging 145 Fußzeile 195 G GD-Bibliothek 225 Gekürzte Beiträge 130 Google Docs 215 H Hauptspeicher 268 Hilfe 221 Hochgeladene Dateien 186 HRM 37 HTML-Struktur 257 I Inhalte 134 erstellen 129

344

kategorisieren 140 kopieren 317 präsentieren 129 verwalten 129 Inhaltstypen 89 Artikel 90, 135 Blog 135 Buch 135 Buchseite 95 erstellen 138 Fahrzeug 270 Forum 204 Seite 90, 135 Standort 270 Umfrage 198 Zugriffsrechte 135 Installation beim Provider 83 Internationalisierung 327 Issues-Liste 265 K Katalogdatei 171 Kommentare 139 Konfigurationsdatei 225 Kontaktformular 98, 159 L Lastreduzierung 231 Leistung 188 Lesbare URLs 82, 190 Linux 65 Liste mit freiem Format 122 Log-Einträge 222 Logging 190 M Medienbibliothek 210 Menüs 161 -Einträge 163, 295 -Link 104 Hauptlinks 97, 161 hinzufügen 162 Navigation 161 Primary links 161 Secondary links) 161 Sekundärlinks 161 Microsoft Windows Vista 58 Mission Statement 195 mod_rewrite 55, 83, 152 Moderationswarteschlange 139 Module 165 Administration Menu 106, 168 Aggregator 132

Stichwortverzeichnis

aktivieren 167 aktualisieren 226 Blog 125 Blog API 213 Book 94, 131 Captcha 324 CCK 267 Comment 138 Contact 98, 160 Content Template 275 Content Translation 89 Content_permissions 271 contributed modules 165 Database Logging 190, 222 deinstallieren 169 Devel 253 FCKeditor 209 Forum 201 Google Analytics 320 I18n 327 Image 149 IMCE 210 IMCEIMAGE 268 Inhaltstypen 89 installieren 165 JQuery Plugin 277 Kernmodule 165 Konfigurieren 167 Node Clone 317 Nodes 89 Oberflächensprache 191 Path 153 Pathauto 153 PHP-Filter 146 Ping 232 Poll 197 Poormanscron 166 Profile 120 Search 232 Slideshow Creator 277 Smileys 318 Statistics 229 Syslog 190 Tagadelics 143 Theme developer 255, 333 Thickbox 149 Throttle 231 TinyMCE 206 Tracker 230 Trigger 176 Upload 147 Views 135, 281 Webform 308 Multiblogging-Plattform 125

Multisite 234 MySQL 29, 56 -Monitor 70, 72 Improved Extension 79 mysqli 79 N Navigationspfad 92 Neue Forenbeiträge 201 Newsfeed 103 Newsstream 102 Node 89 O Oben in Listen 137 Oberfläche übersetzen 170 Oberflächensprache 191 OpenID 126 Identität 128 OpenOffice.org 217 Ourmedia 45 P Performance 188 Personen Dirk Jesse 252 Dries Buytaert 30 Hans Snijder 30 Jochen Meyer 173, 241, 265 Kai Seidler 59 Kay Vogelgesang 59 Kristjan Jansen 33 Peter Müller 20 Rasmus Lerdorf 29 Steve Wittens 33 Tim O’Reilly 31 Persönliches Kontaktformular 160 Pfadpräfix 100, 192 PHP 29, 56 Speicherlimit 225 phpBB 29 phpMyAdmin 29, 70 PHPTemplate 242, 250 Podcasts 21, 150 Port 80 PostgreSQL 56 R RDF-Graph 219 Referrer 229 Regionen 159, 244 Restore 335 Revision 137

345

Stichwortverzeichnis

Roadmap 35 RSS-Feed 139, 299 S Safe Mode 83 Schlagwort 143 Seitenaufrufe 229 Seitencache 188 settings.php 225 Shop 50 Sicherheitscheck 64 Slideshow 277 Slogan 195 Social Software 40 Spam 322 Sprachdatei 67 Sprachumschaltung 100 Startseite 91, 130 Statusbericht 223 sticky 137 Strukturierung 155 style.css 257 Sub-Themes 249 Sucheinstellungen 234 Suchmaschinenfreundliche URLs 151 System-Update 339 T Tag 143 Tarball 69 Taxonomie 140 Teaser 130 Template-Dateien 242 template.php 248 Textkörper 90 Theme-Engine 242 Themes 172 Four Seasons 173 Garland 105, 172 konfigurieren 172 veröffentlichen 262 Zen 252 theming 241 Titel 90 TortoiseCVS 263 Trigger 175

346

U Uhrzeit 180 Umfrage 197 -Block 199 beenden 200 Unicode 225 update.php 224 URL-Aliase 153 URL-Filter 182 V Verfügbare Aktualisierungen 226 Veröffentlichungseinstellungen 91 Versionierung 136 Verwaltungs-Theme 168, 193 Videos 150 VirtualHosts 236 Vokabulare 140 Vordefinierte Ansichten 283 Vorschau 130 W Wartungsarbeiten 194 WCMS 37 Web 2.0 31 Web Content Management System 37 Weblog 40, 41 Webserver 55, 226, 236 Website durchsuchen 232 Website-Informationen 195 Wiki 40 wwwrun 85 WYSIWYG-Editoren 92, 197, 205 X XAMPP Lite 57 Y YAML 252 Z Zeilenumbruchkonverter 182 Zugriffsregeln 119

Recommend Documents

Joomla! Open Source Software wird gegenüber kommerziellen Lösungen immer wichtiger. Addison-Wesley trägt dieser Entwic...

Building powerful and robust websites with Drupal 6 Build your own professional blog, forum, portal or community websi...

Peter Müller Websites erstellen mit Contao Liebe Leserin, lieber Leser, Contao, vormals TYPOlight, hat sich innerhal...

FrontPage 2002 Steffen Kepper Jörg Krause FrontPage 2002 Professionelle Websites entwickeln An imprint of Pearson E...

Peter Müller Websites erstellen mit Contao Liebe Leserin, lieber Leser, Contao, vormals TYPOlight, hat sich innerhal...

Drupal 6 Content Administration Maintain, add, and edit the content of your Drupal site with ease J. Ayen Green BIRMI...

Drupal 6 Content Administration Maintain, add, and edit the content of your Drupal site with ease J. Ayen Green BIRM...

Drupal 6 Social Networking Build a social or community web site with friends lists, groups, custom user profiles, and ...

In der Reihe der Ullstein Bücher: Science-Fiction-Stories Band 1 bis Band 40 Science-Fiction-Romane Poul Anderson: Fein...

Drupal 6 Social Networking Build a social or community web site with friends lists, groups, custom user profiles, and ...