TYPO3 Extension Development: Developer's guide to creating feature rich extensions using the TYPO3 API

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

In Detail

TYPO3 is the enterprise-level content management system for the Web. It is large, feature-rich and very flexible--a lot of this flexibility comes through extensions written by the community. Extensions make it possible to use TYPO3 to drive any type of website, including e-commerce, blogs, social networks, catalogs, and many more. TYPO3 can be completely customized using extensions; however creating an extension can be a challenging task.

This book describes TYPO3 extension creation as it should be done. It starts from an overview of the TYPO3 API and provides recommendations on when and how to use this extensive API. Next it describes the TYPO3 extension generation process. It covers all generation options and emphasizes important decisions that extension developers should be aware of.

Since front-end plugins are the most popular TYPO3 extension type, the book has a chapter dedicated to the process of programming front-end plugins. We then move on to back-end plugin programming. All chapters stress best practices and come with unique tips from the author, who wants his experience to be shared with the TYPO3 community. The book finishes with a chapter about improving code and writing documentation.

What you will learn from this book?

  • Master the TYPO3 API and get to know the classes and functions
  • Learn all about extension categories and the file structure for extensions
  • Understand planning issues to take care of before development
  • Choose TYPO3 database and form types effectively and adjust generated fields for your needs
  • Create front-end plugins--configuring, templating, localizing, and caching
  • Program and generate front-end plugins
  • Respond to actions using AJAX and eID scripts
  • Program back-end modules--planning, managing the database, hooking up with the front end, and implementing
  • Upload your extension to TYPO3's extension repository (TER)
  • Write documentation following the set template and beautify your code with extdeveval

Approach

The book is structured so that following the chapters in order builds a TYPO3 extension from the ground up. Experienced developers can use individual chapters independently to get only the information that they need.

Each chapter is divided so that the first part contains a description and discussion of the topic covered followed by a coding example with explanation of how principles and techniques from the first part are followed in the code.

The reader is encouraged not only to read the book but also to look into the discussed classes and actually code the extension while reading the book.

Who this book is written for?

This book is for PHP developers who want to develop a TYPO3 extension. It assumes the reader has experience with PHP, XML, and HTML. No prior knowledge about TYPO3 extension programming or the TYPO3 API is presumed.

Author(s): Dmitry Dulepov
Publisher: Packt Publishing
Year: 2008

Language: English
Pages: 233

TYPO3 Extension Development......Page 2
Table of Contents......Page 8
Preface......Page 14
Overview of TYPO3 API......Page 18
PHP Classes and Files......Page 19
tslib_......Page 20
ux_......Page 21
How Data is Stored in TYPO3......Page 22
Common TYPO3 API......Page 23
Database API......Page 24
Extension Management......Page 28
GET/POST Functions......Page 29
Array Functions......Page 30
XML Processing......Page 31
File, Directory, and URL Functions......Page 32
System Functions......Page 33
TYPO3-Specific Functions......Page 34
TYPO3 File References......Page 35
Language Support......Page 36
Reference Index......Page 37
Hooks......Page 38
Backend API......Page 39
TCEforms......Page 40
Record Manipulation......Page 41
Clearing Cache......Page 44
TSFE......Page 45
Summary......Page 47
TYPO3 Extension Categories......Page 48
Category: Backend......Page 49
Category: Documentation......Page 50
ext_emconf.php......Page 51
ext_conf_template.txt......Page 57
ext_tables.php......Page 59
ext_tables.sql......Page 62
ext_localconf.php......Page 63
tca.php......Page 64
class.ext_update.php......Page 66
Frontend Plugin Files......Page 67
TypoScript Templates......Page 68
Backend Module and its Files......Page 69
Module Function Files......Page 70
Summary......Page 71
Why is Planning Important?......Page 72
How to Plan......Page 73
Implementation Planning......Page 74
Extension Keys......Page 75
Field Names......Page 76
Database Relations......Page 79
Functionality......Page 80
Technical......Page 81
Backend Module......Page 82
Database Structure......Page 83
Summary......Page 85
Preparing for Generation......Page 86
Generation Steps......Page 87
Entering Extension Information......Page 88
Creating New Database Tables......Page 90
Extending Existing Tables......Page 98
Creating Frontend Plugins......Page 99
Creating Backend Modules......Page 102
Static TypoScript Code......Page 103
Generating the Extension......Page 105
Hide Tables......Page 107
Summary......Page 108
Concepts......Page 110
Flexform Configuration......Page 113
Templating......Page 118
Localizing Strings......Page 120
Fetching Localized Records......Page 121
Character Set Handling......Page 122
Caching in TYPO3......Page 123
Cached and Non-Cached Output......Page 124
Using cHash......Page 125
Advanced: Embedding USER_INT into USER......Page 126
Summary......Page 127
Frontend Plugin Files......Page 128
class.tx_feuserlist_pi1.php......Page 129
locallang.xml......Page 131
ext_localconf.php......Page 132
Clean Up Extension......Page 133
Templates......Page 134
Flexform Configuration......Page 135
Defining Functions......Page 136
Initializing an Extension......Page 137
Checking the Environment......Page 138
Loading Configuration......Page 139
Modifying the Flexform Data Source......Page 140
Template Basics......Page 144
Using Templates......Page 146
Creating a Template......Page 147
Adding stdWrap for Fields......Page 149
Programming Single View......Page 150
Creating a Template......Page 153
Modifying the TypoScript Template......Page 154
Programming List View......Page 156
Including Styles and Scripts......Page 162
Adding a Search Box to the Template......Page 164
What About Cache?......Page 165
Creating JavaScript for Autocomplete......Page 166
Creating PHP Code for Autocomplete......Page 168
Adding Hooks......Page 170
What Can be Optimized?......Page 173
Summary......Page 174
Functionality of a Backend Module......Page 176
Frontend Classes......Page 177
Adjusting the Database......Page 178
ext_tables.php......Page 179
Columns......Page 182
Types......Page 185
Palettes......Page 186
Implementing a Frontend Hook......Page 188
Module Functions......Page 193
Backend Module Files......Page 194
t3lib_BEfunc......Page 195
t3lib_TCEmain......Page 196
t3lib_TCEforms......Page 197
Implementing a Backend Module......Page 198
A Note about Backend HTML......Page 199
Implementing the Main Class......Page 200
Implementing the List of Last Logins......Page 201
Implementing Monthly View......Page 205
Implementing a List of Active Users......Page 207
Implementing Page Statistics......Page 210
Summary......Page 213
Checking the Code......Page 214
Script Documentation......Page 216
Adding a Function Index......Page 217
Documentation Template......Page 218
Template Structure......Page 220
Writing Documentation......Page 221
Making Documentation Available......Page 222
Uploading Extensions to TER......Page 223
Summary......Page 224
Index......Page 226