| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
About the Authors | |
| |
| |
| |
What Is Joomla! Development? | |
| |
| |
Developing for Joomla Is Not Difficult! | |
| |
| |
Joomla Programming: | |
| |
| |
What Do You Need to Know? | |
| |
| |
Extending Joomla: Let Me Count the Ways | |
| |
| |
Which Extension Type Should I Use for My Project? | |
| |
| |
Using Joomla as a Platform or Framework | |
| |
| |
Summary | |
| |
| |
| |
Getting Your Workstation Ready for Joomla! Development | |
| |
| |
Requirements to Run Joomla | |
| |
| |
Tools of the Trade | |
| |
| |
Other Tools | |
| |
| |
Summary | |
| |
| |
| |
How Joomla! Works | |
| |
| |
Tour of Joomla Folders | |
| |
| |
Joomla Platform | |
| |
| |
Web Programming versus "Normal" Programming | |
| |
| |
Anatomy of a Joomla Execution Cycle | |
| |
| |
Naming Conventions (Conventional Wisdom?) | |
| |
| |
Global Objects | |
| |
| |
Overview of Database Tables | |
| |
| |
Summary | |
| |
| |
| |
Extending Joomla! with Layout Overrides | |
| |
| |
Template Basics | |
| |
| |
Copy Template | |
| |
| |
Template Layout Override of Latest Articles Module | |
| |
| |
Change the Look of a Component: User Registration | |
| |
| |
Alternative Layouts | |
| |
| |
Adding a New Menu Item Layout | |
| |
| |
How Do Layout Overrides Work? | |
| |
| |
Nonlayout Overrides | |
| |
| |
Summary | |
| |
| |
| |
Extending Joomla! with Plugins | |
| |
| |
What Is a Plugin? | |
| |
| |
How Do Plugins Work? | |
| |
| |
Plugin Types: Where Can You Insert a Plugin? | |
| |
| |
Tour of Selected Core Plugins | |
| |
| |
User Registration Plugin | |
| |
| |
Improved User Registration Plugin | |
| |
| |
Adding Parameters to Our Plugin | |
| |
| |
Using Plugins to Override Core Classes | |
| |
| |
Plugin Best Practices | |
| |
| |
Summary | |
| |
| |
| |
Extending Joomla! with Modules | |
| |
| |
What Is a Module? | |
| |
| |
Tour of a Core Module | |
| |
| |
Show Articles by the Current Author | |
| |
| |
Summary | |
| |
| |
| |
Components | |
| |
| |
| |
Controllers and Models | |
| |
| |
What Is a Component? | |
| |
| |
MVC Design Pattern | |
| |
| |
Back-End Weblinks Component | |
| |
| |
Summary | |
| |
| |
| |
Components | |
| |
| |
| |
Views, JForm, and Front End | |
| |
| |
Views and the display() Method | |
| |
| |
WeblinksViewWeblink View | |
| |
| |
Back-End Weblinks Summary | |
| |
| |
Front-End Weblinks Component | |
| |
| |
Summary | |
| |
| |
| |
Components | |
| |
| |
| |
Example Component Back End | |
| |
| |
Example Component Functional Overview | |
| |
| |
Detailed Design | |
| |
| |
Back-End Files | |
| |
| |
Subscriptions Manager: Subscriptions Screen | |
| |
| |
Subscriptions Manager: Add and Edit | |
| |
| |
Language Files | |
| |
| |
Installation and Configuration | |
| |
| |
Summary | |
| |
| |
| |
Components | |
| |
| |
| |
Example Component Front End | |
| |
| |
Files Overview | |
| |
| |
Installation XML File | |
| |
| |
Component Entry Point | |
| |
| |
Default Controller | |
| |
| |
Subscription-Category View | |
| |
| |
Subscription View | |
| |
| |
Language File | |
| |
| |
Packaging the Component | |
| |
| |
New Functionality: Back- End Subscriber Report | |
| |
| |
Summary | |
| |
| |
| |
Working with Your Database | |
| |
| |
Database Overview | |
| |
| |
Creating and Modifying | |
| |
| |
Tables with DDL Commands | |
| |
| |
Using phpMyAdmin | |
| |
| |
Using SQL Data with DML Commands | |
| |
| |
Designing the Table Structure | |
| |
| |
Working with the Database Inside Joomla | |
| |
| |
Summary | |
| |
| |
| |
JavaScript and MooTools in Joomla! | |
| |
| |
What Is JavaScript? | |
| |
| |
How Does JavaScript Work? | |
| |
| |
What Is MooTools? | |
| |
| |
How JavaScript and MooTools | |
| |
| |
Are Used in Joomla | |
| |
| |
Built-In JavaScript Features | |
| |
| |
Using MooTools Extensions | |
| |
| |
Using AJAX in Joomla | |
| |
| |
Using Other JavaScript Frameworks | |
| |
| |
Summary | |
| |
| |
| |
Using the Joomla! Platform as an Application Framework | |
| |
| |
What Is the Joomla Platform? | |
| |
| |
Why Have a Separate Project? | |
| |
| |
What Can the Platform Be Used For? | |
| |
| |
Platform Example Programs | |
| |
| |
Subscription Monitoring Example | |
| |
| |
Summary | |
| |
| |
| |
Crash Course on PHP and Object-Oriented Programming | |
| |
| |
PHP File Structure | |
| |
| |
PHP Syntax Basics | |
| |
| |
Common Operators | |
| |
| |
If Statements | |
| |
| |
Switch Statement | |
| |
| |
Looping Statements | |
| |
| |
Alternative Syntax | |
| |
| |
Variables | |
| |
| |
Arrays | |
| |
| |
Constants and Current Directory | |
| |
| |
Functions and Methods | |
| |
| |
Including Files and File Types | |
| |
| |
Object-Oriented Programming Basics | |
| |
| |
Simple Debugging | |
| |
| |
Some Advanced Code Techniques | |
| |
| |
| |
Joomla! Filter Types | |
| |
| |
HTML Filtering | |
| |
| |
Using Filtering in Joomla Applications | |
| |
| |
| |
JHtml Methods | |
| |
| |
Calling JHtml Methods | |
| |
| |
JHtml Class Methods | |
| |
| |
HTML Folder Classes | |
| |
| |
Glossary | |
| |
| |
Index | |