E-Book, Deutsch, 280 Seiten
Reihe: Web Programmierung
Steindl Extensions für TYPO3
1. Auflage 2012
ISBN: 978-3-645-20000-4
Verlag: Franzis Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark
So entwickeln Sie maßgeschneiderte TYPO3-Erweiterungen
E-Book, Deutsch, 280 Seiten
Reihe: Web Programmierung
ISBN: 978-3-645-20000-4
Verlag: Franzis Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark
Extensions für TYPO3 gibt es viele - aber sind darunter auch wirklich die, die Sie für Ihre Website brauchen? Am Beispiel einer konkreten Anwendung demonstriert der Webexperte Robert Steindl in diesem Buch, wie Sie selbst Erweiterungen für TYPO3 programmieren. Der Autor zeigt, wie Sie die Funktionen der TYPO3-API richtig verwenden und wie Sie das Kickstarter-Werkzeug einsetzen, mit dem Sie den Kern der Erweiterung erzeugen. Darüber hinaus führt er in die Frontend und Backend-Programmierung von TYPO3 ein. Ein Ausblick widmet sich zudem der Zukunft von TYPO3 und den Änderungen, die das neue Framework FLOW3 für Entwickler bringen wird.
Robert Steindl ist Diplom-Physiker und Geschäftsführer des Web-Beratungsunternehmens Agilo GmbH. Gleichzeitig ist er Manager des Online-Services des Consulting-Hauses Experton Group. Zuvor war er als leitender Redakteur für den Onlineauftritt der Zeitschrift PC WELT verantwortlich. Robert Steindl lebt in München.
Autoren/Hrsg.
Weitere Infos & Material
1;Extensions für TYPO3 - So entwickeln Sie maßgeschneiderte TYPO3-Erweiterungen;1
2;Inhaltsverzeichnis;5
3;1 Vorbereitung;9
3.1;1.1 Einleitung;9
3.1.1;1.1.1 Voraussetzungen;9
3.1.2;1.1.2 Einrichten von TYPO3 als Entwicklungsumgebung;10
4;2 Planung der Erweiterung;13
4.1;2.1 Anforderungen sammeln;13
4.1.1;2.1.1 Das Pflichtenheft der Beispiel-Extension;13
4.1.2;2.1.2 Technische Anforderungen;14
4.1.3;2.1.3 Die Datenbankstruktur;15
4.2;2.2 Umsetzung des Entwurfs in TYPO3;17
4.2.1;2.2.1 Der Extension Key;17
4.2.2;2.2.2 Veröffentlichen von Extensions;19
4.2.3;2.2.3 Anpassung der Datenbankstruktur;21
5;3 Struktur einer Extension;27
5.1;3.1 Kategorien von Extensions;27
5.1.1;3.1.1 Backend;28
5.1.2;3.1.2 Backend Modules;29
5.1.3;3.1.3 Frontend;29
5.1.4;3.1.4 Frontend Plugins;29
5.1.5;3.1.5 Services;29
5.1.6;3.1.6 Documentation;29
5.1.7;3.1.7 Examples;30
5.1.8;3.1.8 Templates;30
5.1.9;3.1.9 Miscellaneous;30
5.1.10;3.1.10 Kategorie [ ];30
5.2;3.2 Dateistruktur einer Extension;31
5.2.1;3.2.1 ext_emconf.php;31
5.2.2;3.2.2 ext_localconf.php;32
5.2.3;3.2.3 ext_tables.php;32
5.2.4;3.2.4 ext_tables.sql;33
5.2.5;3.2.5 ext_tables_static+adt.sql;33
5.2.6;3.2.6 ext_typoscript_constants.txt;34
5.2.7;3.2.7 ext_typoscript_setup.txt;34
5.2.8;3.2.8 ext_typoscript_editorcfg.txt;34
5.2.9;3.2.9 ext_conf_template.txt;34
5.2.10;3.2.10 ext_icon.gif;35
5.2.11;3.2.11 class.ext_update.php;35
5.2.12;3.2.12 Sprachdateien;36
5.2.13;3.2.13 Ordnerstrukturen;36
5.2.14;3.2.14 Statische Templates;37
6;4 Der Extension Kickstarter;39
6.1;4.1 Aufbau des Kickstarters;39
6.1.1;4.1.1 General info;40
6.1.2;4.1.2 Setup languages;40
6.1.3;4.1.3 New Database Tables;41
6.1.4;4.1.4 Extend existing Tables;52
6.1.5;4.1.5 Frontend Plugins;54
6.1.6;4.1.6 Backend Modules;57
6.1.7;4.1.7 Integrate in existing Modules;59
6.1.8;4.1.8 Clickmenu items;59
6.1.9;4.1.9 Services;60
6.1.10;4.1.10 Static TypoScript code;62
6.1.11;4.1.11 TSconfig;64
6.1.12;4.1.12 Extension schreiben;65
6.2;4.2 Dateien des Kickstarters;67
6.2.1;4.2.1 ext_emconf.php;68
6.2.2;4.2.2 ext_localconf.php;75
6.2.3;4.2.3 ext_tables.php;78
6.2.4;4.2.4 tca.php;81
6.2.5;4.2.5 locallang_db.xml;83
6.2.6;4.2.6 ext_tables.sql;84
6.2.7;4.2.7 Icons;85
6.2.8;4.2.8 Texte;85
6.2.9;4.2.9 Konfiguration einer Extension;86
7;5 Das Frontend-Plugin;89
7.1;5.1 Ausgangsbasis;89
7.2;5.2 Frontend-Funktionen;91
7.2.1;5.2.1 tslib_pibase;91
7.2.2;5.2.2 Weitere Frontend-Klassen;92
7.3;5.3 Plugin-Konfiguration;93
7.3.1;5.3.1 Konfiguration via Typoscript;93
7.3.2;5.3.2 Konfiguration via Template Editor;93
7.3.3;5.3.3 Konfiguration via Flexform;95
7.3.4;5.3.4 Auswerten der Konfiguration;103
7.3.5;5.3.5 Unterstützung von Templates;104
7.4;5.4 Lokalisierung;106
7.4.1;5.4.1 locallang.xml;107
7.4.2;5.4.2 Lokalisierte Texte im Plugin;107
7.4.3;5.4.3 Lokalisierte Templates;108
7.4.4;5.4.4 Lokalisierte Einträge;108
7.4.5;5.4.5 Verwendung von Zeichensätzen;109
7.5;5.5 Caching in Plugins;110
7.5.1;5.5.1 Der TYPO3-Cache;110
7.5.2;5.5.2 Caching in Plugins;111
7.5.3;5.5.3 Caching abschalten;112
7.6;5.6 Der Plugin-Code;114
7.6.1;5.6.1 Beispielcode säubern;114
7.6.2;5.6.2 Sichtbarkeitsattribute (access identifier);116
7.6.3;5.6.3 Die Funktion main();116
7.6.4;5.6.4 Die Listenansicht;118
7.6.5;5.6.5 Die Einzelansicht;124
7.6.6;5.6.6 Erweitern der Extension-Funktionen;131
7.6.7;5.6.7 Zusammenfassung;134
8;6 Backend-Programmierung;135
8.1;6.1 Das Backend-Formular;135
8.1.1;6.1.1 ext_tables.php / tca.php;135
8.2;6.2 Das Backend-Modul;139
8.2.1;6.2.1 Die Ausgangsbasis;139
8.2.2;6.2.2 Backend-Klassen;141
8.2.3;6.2.3 Das Objekt $GLOBALS['BE_USER'];144
8.2.4;6.2.4 Verwendung des System-Logs;148
8.2.5;6.2.5 index.php;151
8.2.6;6.2.6 mod_template.html;161
9;7 Fertigstellen der Extension;163
9.1;7.1 Code Review;163
9.1.1;7.1.1 Funktionalität prüfen;163
9.1.2;7.1.2 Code prüfen;163
9.2;7.2 Dokumentation;166
9.2.1;7.2.1 Handbuch-Struktur;167
9.2.2;7.2.2 Verwendung der Formatvorlagen;168
9.3;7.3 Veröffentlichen der Erweiterung;170
10;8 Project Coding Guidelines;173
10.1;8.1 Project Coding Guidelines;173
10.1.1;8.1.1 Konventionen für Benennung und Formatierung;173
10.1.2;8.1.2 Variablen und Konstanten;178
10.1.3;8.1.3 Datenbankzugriff;180
10.1.4;8.1.4 Sicherheit;182
10.1.5;8.1.5 Coding;184
11;9 Die TYPO3-API;189
11.1;9.1 Die Programmierschnittstelle von TYPO3;189
11.1.1;9.1.1 Grundlagen;189
11.1.2;9.1.2 Workspaces;194
11.1.3;9.1.3 TYPO3 Core Engine (TCE);198
11.1.4;9.1.4 Nützliche Variablen und Konstanten;207
11.1.5;9.1.5 AJAX im TYPO3-Backend;211
11.1.6;9.1.6 Der Table Configuration Array (TCA);216
12;10 Ausblick;263
12.1;10.1 Einschätzung;263
12.2;10.2 MVC als Entwurfsmuster;264
12.3;10.3 FLOW3 und Extbase;265
12.3.1;10.3.1 FLOW3;265
12.3.2;10.3.2 Extbase;266
12.3.3;10.3.3 Entwicklungsprinzipien;266
12.4;10.4 Fluid;269
12.5;10.5 Kickstarter;271
12.6;10.6 Zusammenfassung;272
13;Stichwortverzeichnis;275