Sie sind hier
E-Book

Joomla! 3

Professionelle Webentwicklung. Aktuell zu Version 3.7

AutorDavid Jardin, Elisa Foltyn
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2017
Seitenanzahl636 Seiten
ISBN9783446440883
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis34,99 EUR

Dieses Praxisbuch bietet Ihnen einen Komplett-Einstieg in das Open Source Content Management System Joomla! 3.7. Von den Grundlagen bis zu fortgeschrittenen Techniken erfahren Sie alles, was für die tägliche Arbeit relevant ist.
Neben einer Einführung in die grundlegenden Strukturen von Joomla! liegt der Fokus des Buches auf Themen, die insbesondere beim professionellen Einsatz von Joomla! eine Rolle spielen. Dies alles ist garniert mit zahlreichen Tipps und Tricks, mit Beispielen und Best Practices vom Anfänger bis zum Entwickler.
Nach der Lektüre gehören Sie zu den Profis, die wissen, wie sie die Möglichkeiten von Joomla! ganz und gar ausschöpfen und das CMS für die Realisierung professioneller Webanwendungen nutzen und Lösungen damit umsetzen können.
Aus dem Inhalt: Umfassende Einführung in das CMS // Rechteverwaltung // Suchmaschinenoptimierung // Joomla!-Erweiterungen programmieren // Mehrsprachigkeit // Vom Shop-System bis zur Community-Lösung // Design-Patterns, Plug-Ins & CLI-Applikationen // Joomla Custom Fields // CCK-Systeme (Seblod) // Sicherheit; Update und Migration // Entwickeln Sie ein komplettes Template im Template-Workshop // Erweiterungsentwicklung und Rapid Prototyping mit Framework on Framework // Crashkurs Unit-Testing für Joomla-Erweiterungen.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
2Über Joomla!
2.1Content-Management-Systeme

Am Anfang dieses Buchs sollten wir uns zunächst einmal mit folgender Frage beschäftigen: Was ist eigentlich ein Content-Management-System (kurz CMS)? Die deutsche Übersetzung „Inhaltsverwaltungssystem“ hilft uns ein wenig weiter: Ein CMS ist eine Software zur Erstellung, Bearbeitung und Verwaltung von Informationen, die aus simplen Texten, aber auch aus komplexen Multimediaelementen (Bilder, Videos, Dokumente etc.) bestehen können. Dabei ist wichtig, dass die entsprechenden Inhalte im Regelfall ohne Programmierkenntnisse eingepflegt werden können.

Obwohl auch sog. Document-Management-Systeme (z. B. Alfresco) oder Offline-CMS wie Jekyll im weitesten Sinne zu den Content-Management-Systemen gehören, bezieht sich der Begriff des CMS i. d. R. auf Web-Content-Management-Systeme, die ausschließlich als Webanwendungen arbeiten, also über den Webbrowser administriert werden.

Diese WCMS erlauben es mehreren Benutzern, gemeinschaftlich an den hinterlegten Informationen zu arbeiten, und sind medienneutral in ihrer Ausgabe. Medienneutral bedeutet dabei, dass die hinterlegten Informationen unabhängig vom Ausgabeformat (HTML, PDF, XLS) bzw. der Gestaltung der Ausgabe (einfaches Wechseln von Designs) hinterlegt sind und so aus einem „Inhaltspool“ verschiedene Arten von Dokumenten erzeugt werden können. Dies wird dadurch ermöglicht, dass die Inhalte erst beim Aufruf durch den Nutzer dynamisch in ihr finales Ausgabeformat gebracht werden. Das unterscheidet Web-CMS vom klassischen Vorgehen mit HTML-Editor und FTP-Programm, bei dem die einzelnen Inhalte statisch, also schon in ihrer endgültigen Form, auf dem Server hinterlegt sind.

Zu den bekanntesten Open-Source-CMS gehören das Blogsystem Wordpress, die Enterprise-Systeme Drupal und Typo3 sowie Joomla!.

2.2Geschichte

Die Wurzeln von Joomla! liegen im CMS Mambo, das seit der Jahrtausendwende vom australischen Unternehmen Miro entwickelt und im Jahr 2002 als Open-Source-Software veröffentlicht wurde. Mambo entwickelte sich schnell zu einem sehr beliebten System und wurde so z. B. im Jahr 2004 von der Zeitschrift Linux User and Developer als „Best Linux or Open Source Software“ ausgezeichnet. Im August 2005 entschied sich Miro dazu, die Mambo Foundation, einen gemeinnützigen Verein, zu gründen, um das Mambo-Projekt von Miro zu lösen und so zu gewährleisten, dass die Weiterentwicklung unabhängig vom Schicksal der Firma erfolgen kann.

Einige Tage später kam es jedoch zum Bruch zwischen dem aus Freiwilligen bestehenden Entwicklerteam und Miro, woraufhin das gesamte Entwicklerteam das Mambo-Projekt verließ, um sich unter dem Namen „Open Source Matters“ neu zu gruppieren. Als Grund für diesen Schritt gab das Entwicklerteam an, dass die Mambo Foundation ohne Beteiligung der Community gegründet worden sei und Miro weiterhin eine starke Kontrollfunktion ausübe, die mit einem Open-Source-Projekt nicht vereinbar wäre – so ließ sich z. B. der Geschäftsführer von Miro zum Vorsitzenden der Foundation wählen.

Das Entwicklerteam entschloss sich daraufhin, einen eigenen Ableger von Mambo auf den Markt zu bringen, der im September 2005 unter dem Namen Joomla! in der Version 1.0 erschien. Joomla! leitet sich vom Suaheli-Wort „Jumla“ ab, das in der Übersetzung „Alle zusammen“ bedeutet. Joomla! 1.0 war zu diesem Zeitpunkt im Wesentlichen nur eine leicht fehlerbereinigte Version von Mambo 4.5.2.3, zog jedoch aufgrund des Wechsels des gesamten Entwicklerteams große Teile der Mambo-Community mit sich.

Nach der Veröffentlichung von Joomla! 1.0 und der Stabilisierung des Projekts entschloss sich das Entwicklerteam, den alten Code, der teilweise noch aus dem Jahr 2000 stammte, über Bord zu werfen und eine von Grund auf neu geschriebene Joomla!-Version 1.5 zu erstellen, die im Januar 2008 erschien und dem Projekt nochmals einen enormen Aufwind gab. In den aktuellen Versionen findet sich dadurch kein Code des Vorgängers Mambo mehr.

2.3Organisation

Das Joomla!-Projekt ist in den letzten Jahren massiv gewachsen und musste dabei seine Strukturen mehrfach an die veränderten Anforderungen anpassen. Die aktuelle Organisationsstruktur befindet sich zum Zeitpunkt des Erscheinens dieses Buchs in einem Übergangsprozess, ist also noch nicht vollständig umgesetzt worden.

Die Grundstruktur des Projekts entspricht auf den ersten Blick der eines klassischen Unternehmens (siehe Bild 2.1).

Bild 2.1 Neue Organisationstruktur des Joomla!-Projekts

Basis des Projekts ist die juristische Person hinter Joomla!, nämlich die bereits erwähnte not-for-profit-Organisation „OpenSourceMatters Inc“ mit Sitz in New York.

OpenSourceMatters hat einen Vorstand, bestehend aus den Sonderrollen „Präsident/in“, „Vize-Präsident/in“, „Generalsekretär/in“ und „Schatzmeister/in“ sowie den Abteilungsleiter/innen der sieben Abteilungen, im Projektjargon als „Department Coordinator“ bezeichnet.

Derzeit sind die folgenden Abteilungen im Projekt vorgesehen:

  • Production: zuständig für die technische Entwicklung des eigenen Kernprodukts „Joomla! CMS“.

  • Legal: verteidigt die rechtlichen Interessen des Gesamtprojekts, insbesondere in Bezug auf die Marke „Joomla!“.

  • Marketing & Communication: koordiniert die interne und externe Kommunikation des Projekts und versucht die Verbreitung von Joomla! zu erhöhen.

  • Events: zuständig für alle Fragen rund um Veranstaltungen und Meetups.

  • Operations: kümmert sich um den Betrieb der Infrastruktur, den das Projekt benötigt, wie zum Beispiel die Website joomla.org.

  • Programs: betreut die verschiedenen Programme und Initiativen, an denen Joomla! beteiligt ist. Hierzu gehört zum Beispiel das „Google Summer of Code“-Programm oder das geplante Zertifizierungs-Programm für Joomla!-Administratoren und Dienstleister.

  • Local Communities: repräsentiert die lokalen Communities wie Usergroups oder nationale Vereine.

Jedes Department kann wiederum aus beliebig vielen Teams bestehen, die für jeweils einen bestimmten Aspekt zuständig sind. Im Department „Production“ könnte es hier z. B. ein Team für die Übersetzung von Joomla! in andere Sprachen geben, ein Team für die Entwicklung von Joomla! 4.x sowie ein Team für die Dokumentation. Die Anzahl der Teams unterliegt dabei keiner Begrenzung, sondern kann frei gewählt werden.

Auf der Ebene der Teams angekommen besteht jedes Team aus den Positionen „Teamleiter/in“ und „stellv. Teamleiter/in“ sowie einer beliebigen Anzahl von Teammitgliedern. Die Aufnahme in ein Team erfolgt über ein Bewerbungsverfahren, das die Teams individuell gestalten können. Ein Team wiederum wählt dann den Teamleiter sowie seinen Stellvertreter, die Teamleiter eines Departments wählen den Department Coordinator und alle Department Coordinators wählen die passenden Personen für die vier genannten Sonderposten auf Vorstandsebene.

Die Projektstruktur verfügt somit über einige bemerkenswerte Merkmale:

Absolut alle Mitarbeiter im Projekt, ganz egal auf welcher Ebene, arbeiten unbezahlt und ehrenamtlich.

Es gibt nicht „die Firma“ hinter dem Projekt, die die Entwicklung steuert, sondern die Richtungsfindung und Entwicklung erfolgt im Rahmen von demokratischen Prozessen.

Es gibt klare Prozesse für Abstimmungen, Teamgründungen und -auflösungen sowie die Aufnahme neuer Mitarbeiter.

An dieser Stelle sollte jedoch nicht verschwiegen werden, dass die neue Struktur in der Community nicht unumstritten ist. Die Abstimmung über den Wechsel zum neuen Aufbau ging denkbar knapp aus und der derzeit stattfindende Wechsel von der alten auf die neue Struktur ist massiv hinter dem aufgestellten Zeitplan. Kritiker äußern dabei vor allem die folgenden Kritikpunkte:

Die neue Struktur ist zu bürokratisch. Langatmige Prozesse verlangsamen die Entscheidungsfindung und nehmen allen Beteiligten die nötige Flexibilität.

In der neuen Struktur konzentriert sich zu viel „Macht“ auf einige wenige Menschen, nämlich den Vorstand von OpenSourceMatters. Ein System der gegenseitigen Prüfung von mehreren gleichberechtigten Instanzen, wie es in der alten Struktur der Fall war, fehlt.

Der Wechsel zur neuen Struktur würde das Projekt über Monate beschäftigen und lähmen.

Zum jetzigen Zeitpunkt (Februar 2017) ist noch nicht...

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
1 Einleitung18
2 Über Joomla!20
2.1 Content-Management-Systeme20
2.2 Geschichte21
2.3 Organisation21
2.4 Release-Strategie24
3 Einrichten der Arbeitsumgebung26
3.1 Lokaler Webserver26
3.1.1 Windows27
3.1.2 Linux29
3.1.3 Mac OS X32
3.1.4 Vagrant35
3.2 Entwicklungstools36
3.2.1 Texteditor37
3.2.1.1 Windows: Notepad++37
3.2.1.2 Alle Systeme: Sublime Text37
3.2.2 Entwicklungsumgebung38
3.2.2.1 Eclipse38
3.2.2.2 PhpStorm39
3.3 Wahl des Browsers40
3.3.1 Nutzung der Chrome-Entwicklertools41
3.4 FTP-Client45
3.5 Passwort-Manager46
4 Installation48
4.1 Installation in der lokalen Umgebung48
4.1.1 Sonderfall 1: der FTP-Modus57
4.1.2 Sonderfall 2: mehrsprachige Installation59
4.2 Installation auf dem Webspace des Hosters61
4.3 Erste Handgriffe nach der Installation62
4.3.1 Anpassung der robots.txt62
4.3.2 Leeren des Verzeichnisses/images63
5 Grundlegende Begriffe und Architektur66
5.1 Grundlegende Begriffe66
5.1.1 Backend/Frontend66
5.1.2 Komponenten, Module, Plug-ins und Templates67
5.1.3 Beiträge, Kategorien, Menüs68
5.2 Architektur69
5.2.1 Joomla!-Framework70
5.2.2 Joomla!-CMS70
5.2.3 Erweiterungen71
6 Das Backend72
6.1 Login72
6.2 Grundaufbau und Kontrollzentrum73
6.3 Allgemeine Konfiguration75
6.4 Massenmail82
6.5 Menü: Menüs und Inhalte84
6.6 Medienverwaltung84
6.7 Menü: Komponenten88
6.8 Menü: Erweiterungen89
6.9 Menü: Hilfe90
7 Inhalte verwalten92
7.1 Kategoriensystem anlegen93
7.1.1 Kategorienübersicht93
7.1.2 Kategorie anlegen96
7.1.3 Anlegen einer untergeordneten Kategorie100
7.1.4 Bestehende Kategorien ändern101
7.1.5 Kategorien entfernen und wiederherstellen103
7.1.6 Kategorien veröffentlichen und verstecken104
7.1.7 Kategorie-Reihenfolge ändern105
7.1.8 Freigeben von Kategorien106
7.1.9 Wiederherstellen der Kategorienstruktur107
7.1.10 Kategorienoptionen108
7.1.11 Anwenden von Änderungen auf mehrere Kategorien108
7.2 Inhalte erstellen109
7.2.1 Beitragsübersicht109
7.2.2 Neuen Beitrag anlegen110
7.2.2.1 Der WYSIWYG-Editor TinyMCE111
7.2.2.2 Bilder einfügen119
7.2.2.3 Verlinkungen zu anderen Beiträgen einfügen121
7.2.2.4 Seitenumbruch123
7.2.2.5 Weiterlesen-Funktion126
7.2.2.6 Module einfügen127
7.2.2.7 WYSIWYG-Editor deaktivieren128
7.2.2.8 Beitragsparameter128
7.2.3 Allgemeine Optionen der Beitragskomponente132
7.3 Haupteinträge136
7.4 Versionierung136
7.5 Verschlagwortung138
7.5.1 Schlagworte anlegen139
7.5.2 Schlagworte im Frontend140
8 Navigationsstruktur anlegen142
8.1 Das Menüsystem142
8.1.1 Die Menübereiche142
8.1.2 Die Menüeinträge143
8.2 Menüeinträge anlegen144
8.2.1 Menütypen144
8.2.2 Menüeintrags-Parameter148
8.2.3 Kategorienauflistungen152
8.2.4 Kategorienblogs155
8.3 Split-Navigationen anlegen160
9 Das Template-System162
9.1 Was ist ein Template?162
9.1.1 Backend- und Frontend-Templates163
9.1.2 Modulpositionen163
9.2 Template-Übersicht164
9.2.1 Template-Stile165
9.2.2 Installierte Templates165
9.3 Editieren der installierten Templates166
9.4 Template-Stil wechseln167
9.5 Template-Zuweisung168
9.6 Parameter ändern169
9.7 Manuelle Template-Anpassungen170
9.8 Andere Templates nutzen173
9.8.1 Template-Verzeichnisse173
9.8.2 Template-Clubs174
9.8.3 Installation175
10 Joomla!-Erweiterungen176
10.1 Integrierte Erweiterungen176
10.1.1 Komponenten: Nutzung der Kontakt-Komponente176
10.1.2 Komponenten: Nutzung des Suchindex180
10.1.3 Module: Das RSS-Feed-Modul einbinden181
10.1.3.1 Administrator-Module188
10.1.4 Plug-ins188
10.1.5 Sprachen190
10.1.6 Templates191
10.1.7 Bibliotheken191
10.1.8 Überblick über die Standarderweiterungen191
10.2 Erweiterungen verwalten196
10.2.1 Erweiterungen finden196
10.2.1.1 extensions.joomla.org196
10.2.1.2 Checkliste für die Auswahl der passenden Erweiterung199
10.2.1.3 Deutschsprachige Erweiterungsverzeichnisse199
10.2.2 Erweiterungen installieren200
10.2.2.1 Aus Webkatalog installieren203
10.2.3 Erweiterungsmanager205
10.2.3.1 Erweiterungen verwalten205
10.2.3.2 Erweiterungen überprüfen206
10.2.3.3 Erweiterungen aktualisieren207
10.2.3.4 Datenbank207
10.2.3.5 Warnungen208
10.2.3.6 Sprachen installieren209
10.2.3.7 Aktualisierungsquellen210
11 Benutzer- und Rechteverwaltung212
11.1 Benutzerverwaltung212
11.2 Gruppen214
11.3 Zugriffsebene217
11.4 Berechtigungen219
11.4.1 System-Berechtigungen220
11.4.2 Komponenten-Berechtigungen222
11.4.3 Kategorie-Berechtigungen222
11.4.4 Eintragsberechtigungen223
11.5 Parameter der Benutzerverwaltung224
12 Overrides/Template Workshop226
12.1 Overrides und Alternative Layouts226
12.1.1 Einleitung226
12.1.2 MVC227
12.1.3 Ausgabe von Komponenten überschreiben227
12.1.3.1 Struktur227
12.1.3.2 Override erstellen228
12.1.3.3 Alternatives Layout erstellen229
12.1.3.4 Überblick über Joomla!-Komponenten230
12.1.3.5 Auswahl der Alternativen Layouts im Backend231
12.1.4 Menütypen für Alternative Layouts anlegen234
12.1.4.1 Struktur235
12.1.5 Ausgabe von Modulen überschreiben237
12.1.5.1 Struktur237
12.1.5.2 Overrides anlegen237
12.1.5.3 Alternative Layouts anlegen238
12.1.5.4 Auswahl im Backend239
12.1.6 Modul Chrome240
12.1.6.1 Aufruf240
12.1.6.2 Definition240
12.1.6.3 Eigenen Chrome anlegen242
12.1.6.4 Verwendung Modul Overrides vs. Chrome Stile243
12.1.7 Ausgabe von jLayouts überschreiben243
12.1.7.1 Struktur243
12.1.7.2 Override anlegen244
12.1.7.3 Eigene jLayouts anlegen244
12.1.8 Overrides über den Template-Manager erstellen244
12.1.9 Ausgabe von Plug-ins überschreiben245
12.1.9.1 Struktur245
12.1.9.2 Overrides anlegen245
12.1.10 Ausgabe der Paginierung überschreiben246
12.1.11 Media-Dateien überschreiben247
12.1.11.1 Der Media-Ordner247
12.1.11.2 Skripte überschreiben247
12.1.11.3 Bilder überschreiben248
12.1.11.4 Stile überschreiben249
12.1.11.5 Dateien außerhalb des Media-Ordners249
12.1.12 Ausgabe von Sprachdateien überschreiben250
12.2 Joomla!-Template-Workshop254
12.2.1 Download der Beispieldateien255
12.2.2 Aufbau eines Joomla!-Templates258
12.2.3 Bearbeitung der templateDetails.xml263
12.2.4 Basisangaben in der index.php272
12.2.4.1 Joomla!-spezifische PHP-Anweisungen272
12.2.4.2 Stylesheet-Dateien einbinden273
12.2.4.3 Skript-Dateien einbinden274
12.2.4.4 Head laden – Jdoc-Anweisung277
12.2.4.5 Template-Parameter278
12.2.5 Module in der index.php laden283
12.2.5.1 Jdoc-Anweisung283
12.2.5.2 Menü283
12.2.5.3 Seitenheader287
12.2.5.4 Teaser293
12.2.5.5 Icon-Modul296
12.2.5.6 Portfolio-Modul302
12.2.5.7 Call-to-Action-Bereich308
12.2.5.8 Kontaktbereich im Footer309
12.2.6 Verweise korrigieren313
12.2.7 Weitere Jdoc-Anweisungen313
12.2.8 Inhaltsbereich/Komponente314
12.3 Weitere Joomla!-Template-Dateien320
12.3.1 component.php320
12.3.2 offline.php320
12.3.3 error.php321
12.3.4 pagination.php322
12.4 Übersicht Joomla!-Befehle322
12.5 Template-Frameworks und Template-Generatoren324
12.6 CSS-Frameworks325
12.7 Taskrunner326
12.8 Barrierefreiheit327
12.9 Backend-Template328
13 Suchmaschinenoptimierung330
13.1 Meta-Daten330
13.2 SEF URLs333
13.2.1 URL-Rewriting335
13.2.2 Das Duplicate-Content-Problem337
13.3 Umleitungen337
13.4 Erweiterungen339
13.4.1 sh404SEF339
13.4.2 OSMap340
13.4.3 Easy Frontend SEO340
14 Mehrsprachigkeit342
14.1 Integrierte Mehrsprachigkeit342
14.1.1 Prinzip342
14.1.2 Aktivierung der Sprachen343
14.1.3 Aktivierung des Plug-ins343
14.1.4 Aktivierung des Moduls345
14.1.5 Sprachzuweisung der Beiträge347
14.1.6 Sprachzuweisung der Menüeinträge348
14.1.7 Sprachzuweisung der Module352
14.1.8 Sprachverknüpfungen354
14.2 FaLang356
14.2.1 Prinzip356
15 Spezialisierte Erweiterungen358
15.1 Shop-Systeme358
15.1.1 VirtueMart359
15.1.2 HikaShop359
15.1.3 J2Store360
15.1.4 JoomShopping360
15.2 Formulare360
15.2.1 RSForm Pro361
15.2.2 FlexForms361
15.3 Dokumentenmanagement362
15.3.1 jDownloads362
15.4 Kalender363
15.4.1 JEvents363
15.4.2 DPCalendar363
15.5 Galerien363
15.5.1 Komponente: PhocaGallery363
15.5.2 Plug-in: Simple Image Gallery364
15.6 Community-Lösungen364
15.6.1 JomSocial365
15.6.2 Community Builder366
15.6.3 Kunena366
16 Eigene Felder/SEBLOD®368
16.1 Eigene Felder368
16.1.1 Diese Joomla!-Komponenten unterstützen „Eigene Felder“368
16.1.2 Feldtypen369
16.1.2.1 Gemeinsame Grundeinstellungen369
16.1.2.2 Gemeinsame Feldoptionen371
16.1.2.3 Beschreibung der einzelnen Feldtypen373
16.1.3 Felder anlegen – so geht es!376
16.1.3.1 Anlegen einer Feldgruppe376
16.1.3.2 Neues Feld anlegen377
16.1.3.3 Feld-Reihenfolge ändern377
16.1.3.4 Mehrsprachigkeit378
16.1.4 Override der Eingabefelder378
16.1.5 Felder ausgeben – so geht es!378
16.1.5.1 Automatische Anzeige378
16.1.5.2 Benutzerprofil379
16.1.5.3 Im Beitrag380
16.1.5.4 Im Kontakt383
16.1.5.5 Im Kontaktformular384
16.1.5.6 Override der Feldausgabe387
16.1.6 Zugriff und Berechtigungen für „Eigene Felder“388
16.1.7 Weitere Funktionen und ihre Grenzen389
16.1.8 Beispielprojekt: Jobportal390
16.1.8.1 Aufgabenstellung390
16.1.8.2 Arbeitgeberinformationen391
16.1.8.3 Stellenanzeigen394
16.1.8.4 Bewerbungsformular396
16.1.8.5 Frontend konfigurieren397
16.1.8.6 Ausgabe im Frontend399
16.2 SEBLOD®405
16.2.1 Was ist SEBLOD®?405
16.2.2 SEBLOD® installieren405
16.2.3 Erste Orientierung408
16.2.4 Globale Konfiguration410
16.2.5 Der App-Ordner Manager419
16.2.5.1 Struktur419
16.2.5.2 Die eigene App420
16.2.6 Formular- und Inhaltstypen422
16.2.6.1 Orientierung422
16.2.6.2 Formular- und Inhaltstyp erstellen426
16.2.6.3 Formular- und Inhaltstypen im Frontend darstellen427
16.2.7 Listen- und Suchtypen anlegen427
16.2.7.1 Orientierung427
16.2.7.2 Listen- und Suchtypen erstellen432
16.2.7.3 Listen- und Suchtypen im Frontend darstellen433
16.2.8 Felder hinzufügen433
16.2.8.1 Vorhandene Eingabefelder hinzufügen433
16.2.8.2 Eigene Felder hinzufügen434
16.2.8.3 Ausgabefelder festlegen438
16.2.8.4 Feld-Manager438
16.2.9 Feldtypen/Feldgruppen438
16.2.9.1 Auswahl438
16.2.9.2 Button441
16.2.9.3 Formular441
16.2.9.4 HTML443
16.2.9.5 Inhalt444
16.2.9.6 Joomla!-Bibliothek (JForm)445
16.2.9.7 Joomla!447
16.2.9.8 Kollektion447
16.2.9.9 Suche447
16.2.9.10 Textbereich448
16.2.9.11 Upload448
16.2.9.12 Wähler450
16.2.9.13 #Core450
16.2.10 Feld-Zusatzoptionen451
16.2.10.1 Beschriftung und Variation451
16.2.10.2 Live + Live Wert451
16.2.10.3 Erforderlich/Validierung + Stufe452
16.2.10.4 Zugriffsebene und Beschränkung453
16.2.10.5 Abhängige Status (+ Berechnung)454
16.2.10.6 Markup + Markup-Klassen456
16.2.10.7 Link + Typografie457
16.2.10.8 Treffer + Stufen459
16.2.10.9 Positionen459
16.2.10.10 Der Zuweisen-Button459
16.2.11 Templates460
16.2.11.1 Templates installieren461
16.2.11.2 Template-Overrides461
16.2.11.3 Eigenes Template erstellen465
16.2.12 Seiten-Manager (Joomla!-Multidomain)466
16.2.13 SEBLOD® Module471
16.2.14 Backend-Menü erstellen471
16.2.15 SEBLOD® Erweiterungen472
16.2.16 Beispielprojekt: Jobportal473
16.2.16.1 App-Ordner anlegen473
16.2.16.2 Arbeitgeberinformationen473
16.2.16.3 Stellenanzeigen479
16.2.16.4 Jobsuche konfigurieren487
16.2.16.5 Bewerbungsformular anlegen488
16.2.17 Weitere CCK491
17 Eigene Erweiterungen494
17.1 Die Joomla!-API494
17.2 Das MVC-Pattern495
17.3 Wichtige Klassen496
17.3.1 JFactory496
17.3.2 JDatabase497
17.3.3 JDatabaseQuery498
17.3.4 JInput499
17.3.5 JDocument500
17.3.6 JFile/JFolder501
17.3.7 JControllerLegacy502
17.3.7.1 JControllerAdmin503
17.3.7.2 JControllerForm503
17.3.8 JModelLegacy503
17.3.8.1 JModelAdmin503
17.3.8.2 JModelForm504
17.3.9 JViewLegacy504
17.3.10 JForm504
17.3.10.1 Verfügbare Feldtypen504
17.3.11 JLayout507
17.3.12 Weitere Klassen in der Kurzübersicht507
17.3.13 Zur Verfügung stehende Konstanten508
17.4 Tutorial: Wir programmieren eine Komponente für Stellenanzeigen508
17.4.1 Anlegen der Verzeichnisstruktur509
17.4.2 Anlegen der XML-Definition509
17.4.3 Anlegen des Installationsskripts512
17.4.4 Anlegen der SQL-Dateien für Installation, Deinstallation und Update515
17.4.5 Anlegen des MVC-Patterns im Backend517
17.4.5.1 Dispatcher517
17.4.5.2 Die Backend-Controller519
17.4.5.3 Die Backend-Models521
17.4.5.4 Das Backend-Formular526
17.4.5.5 Anlegen der Table-Klasse528
17.4.5.6 Anlegen der View für die Listenansicht530
17.4.5.7 Anlegen des Konfigurationsdialogs539
17.4.5.8 Anlegen der Helper-Klasse540
17.4.6 Anlegen der Backend-Sprachdateien541
17.4.7 Anlegen der benötigten Medien-Dateien543
17.4.8 Anlegen des MVC-Patterns im Frontend544
17.4.8.1 Anlegen des Dispatchers544
17.4.8.2 Anlegen des Controllers545
17.4.8.3 Anlegen des Models545
17.4.8.4 Anlegen der View547
17.4.9 Anlegen der Frontend-Sprachdateien550
17.4.10 Installieren der fertigen Erweiterung550
17.5 Plug-ins entwickeln551
17.5.1 Grundprinzip551
17.5.2 Beispiel-Plug-in552
17.5.3 Verfügbare Plug-in-Events553
17.6 CLI-Applikationen entwickeln560
17.7 Das FOF-Framework562
17.7.1 Zentrale Konzepte563
17.7.2 Nachteile des FOF-Frameworks564
17.7.3 Vorteile des Frameworks564
18 Best Practices566
18.1 Sinnvolle Erweiterungen im professionellen Umfeld566
18.1.1 OSMap566
18.1.2 JCE569
18.1.2.1 Installation und Konfiguration569
18.1.2.2 Kostenpflichtige Zusatz-Plug-ins577
18.1.2.3 Nutzung577
18.1.3 ACL Manager581
18.1.4 Advanced Module Manager584
18.1.5 Akeeba Backup586
18.1.5.1 Nutzung von Cloud-Storage588
18.2 Einstellungen589
18.2.1 Erweiterungen verstecken589
18.2.2 Administrationsgestaltung590
18.3 Administrationsenüs591
18.4 Management-Tools593
18.5 Standard-Paket594
18.6 Fortbildungsmöglichkeiten594
18.6.1 Joomla!-Events594
18.6.2 Zertifizierung595
19 Übertragung Offline > Online596
19.1 Die Auswahl des richtiges Hosters596
19.1.1 Das „www-run“-Problem597
19.2 Transfer mittels FTP und phpMyAdmin601
19.3 Transfer mit Akeeba Backup607
19.4 Fallstricke nach dem Transfer611
19.5 Online-Checkliste611
20 Performance-Optimierungen612
20.1 Optimierung der Generierungszeit615
20.1.1 MySQL Query Caching615
20.1.2 Opcode-Caches für PHP615
20.1.3 Integriertes Joomla!-Caching616
20.1.3.1 Seiten-Caching618
20.1.3.2 Modul- und Komponenten-Caching618
20.1.3.3 Erweitertes Caching619
20.1.3.4 Leeren des Caches619
20.2 Optimierung des HTML-Codes620
20.3 Optimierung der Auslieferung621
20.3.1 Aktivierung der GZIP-Komprimierung621
20.3.2 Content Delivery Networks622
21 Sicherheit624
21.1 Motivation der Angreifer624
21.2 Angriffstypen und Gegenmaßnahmen626
21.2.1 SQL Injections626
21.2.2 Directory Traversal628
21.2.3 Remote Code Execution630
21.2.4 Cross-Site-Scripting630
21.2.5 Cross-Site Request Forgery632
21.3 Sicherheitsmaßnahmen633
21.3.1 Zwei-Faktor-Authentifizierung634
21.4 Wie erkenne ich einen Hack?636
21.5 Was tun nach dem Hack?636
22 Update und Migration640
22.1 Migrationen: theoretischer Ablauf640
22.2 Schritt 1: Kopie erstellen641
22.3 Schritt 2: Erweiterungen prüfen642
22.3.1 Sonderfall Templates643
22.4 Schritt 3: Backup!644
22.5 Schritt 4: Migration644
22.6 Schritt 5: Übertragen der Seite646
22.7 Migration eigener Erweiterungen646
Index648

Weitere E-Books zum Thema: Internet - Intranet - Webdesign - Security

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

TCP/IP-Praxis

E-Book TCP/IP-Praxis
Dienste, Sicherheit, Troubleshooting Format: PDF

Netzwerke modernen Standards verlangen weniger nach Rezepten für Neu - Design als vielmehr nach Wegen, Maßnahmen zur Integration in eine bestehende Infrastruktur aufzuzeigen. Diesem Aspekt trägt TCP/…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

Gastronomie Report

Gastronomie Report

News & Infos für die Gastronomie: Tipps, Trends und Ideen, Produkte aus aller Welt, Innovative Konzepte, Küchentechnik der Zukunft, Service mit Zusatznutzen und vieles mehr. Frech, offensiv, ...

DER PRAKTIKER

DER PRAKTIKER

Technische Fachzeitschrift aus der Praxis für die Praxis in allen Bereichen des Handwerks und der Industrie. “der praktiker“ ist die Fachzeitschrift für alle Bereiche der fügetechnischen ...

DGIP-intern

DGIP-intern

Mitteilungen der Deutschen Gesellschaft für Individualpsychologie e.V. (DGIP) für ihre Mitglieder Die Mitglieder der DGIP erhalten viermal jährlich das Mitteilungsblatt „DGIP-intern“ ...

die horen

die horen

Zeitschrift für Literatur, Kunst und Kritik."...weil sie mit großer Aufmerksamkeit die internationale Literatur beobachtet und vorstellt; weil sie in der deutschen Literatur nicht nur das Neueste ...