Table of Contents
Preface
Chapter 1: Joomla! Extension Development: An Overview
Chapter 2: Getting Started with Component Development
Chapter 3: Backend Development
Chapter 4: Frontend Development
Chapter 5: JTable, JHTML, and JUser
Chapter 6: Module Development
Chapter 7: Expanding the Project
Chapter 8: Using JavaScript Effects
Chapter 9: Behind the Scenes: Plug-ins
Chapter 10: Configuration Settings
Chapter 11: Email, Languages, and JFile
Chapter 12: Packing Everything Together
Index
- Chapter 1: Joomla! Extension Development: An Overview
- Why extend Joomla!?
- Customization versus extension
- How to extend Joomla!
- Components
- Modules
- Plugins
- Topic overview
- Creating toolbars and list screens
- Maintaining a consistent look, and reducing repetitive code by using HTML functions
- Accessing the database and managing records
- Security, and the preferred way of getting request variables
- Menu item control
- Controlling the logic flow within a component
- Configuration through XML parameters
- Packaging and distributing
- Our example project
- Summary
- Why extend Joomla!?
- Chapter 2: Getting Started with Component Development
- Joomla!'s component structure
- Executing the component
- Joomla!'s division of frontend and backend
- Registering your component in the database
- Creating toolbars
- Creating a second toolbar
- Available toolbar buttons
- Summary
- Joomla!'s component structure
- Chapter 3: Backend Development
- Creating the database table
- Creating a table class
- Coding with MVC
- Creating the review form
- Processing the data
- Creating a list screen
- Editing records
- Summary
- Creating the database table
- Chapter 4: Frontend Development
- Listing the reviews
- Displaying a review
- Generating search-engine-friendly links
- Building URL segments
- Parsing URL segments
- Adding comments
- Displaying comments
- Summary
- Chapter 5: JTable, JHTML, and JUser
- Overriding JTable methods
- Adding a check() function
- Overriding the bind() function
- Adding ordered records
- Recording traffic
- Checking out and checking in records
- Getting user information
- Generating elements with JHTML
- Pre-filled lists
- Running content plug-ins
- Using JHTML in the backend
- Setting access
- Setting ordering
- Summary
- Overriding JTable methods
- Chapter 6: Module Development
- Registering the module in the database
- Creating and configuring a basic module
- Recruiting some helpers
- Trying some different layouts
- Mixing it up
- Summary
- Chapter 7: Expanding the Project
- Publishing records
- Unpublishing reviews
- Deleting records
- Adding Apply
- Requiring specific fields
- Using pagination to break up long lists
- Searching
- Adjusting the model
- Adjusting the view
- Migrating toolbars to views
- Managing comments
- Linking the comments controller
- Summary
- Publishing records
- Chapter 8: Using JavaScript Effects
- Modal boxes
- Configuring the modal box
- The raw format and MVC
- Tool tips
- Sliding panes
- Customizing Google Maps
- Interactive maps
- Using jQuery
- Writing jQuery code
- Using jQuery with MooTools
- Always load MooTools first
- Summary
- Modal boxes
- Chapter 9: Behind the Scenes: Plug-ins
- Database queries
- A simple link plug-in
- What events can be registered?
- System
- Search
- Authentication
- User
- Editor-xtd
- Editor
- Content
- An information box plug-in
- Searching the reviews
- Summary
- Chapter 10: Configuration Settings
- Adding parameters to extensions
- Parameters for modules
- What parameters are available for use?
- Parameters for plug-ins
- Parameters for components
- Adding parameters to the list view
- Adding parameters to the single view
- Adding component global parameters
- Summary
- Chapter 11: Email, Languages, and JFile
- Sending emails
- Linking the form
- Sending email
- Adding a success message
- Managing languages
- Creating translations
- Debugging languages
- Translating the frontend
- Handling file uploads
- Using the original filename
- Summary
- Sending emails
- Chapter 12: Packing Everything Together
- Listing all of the files
- Packaging the module
- Packaging the plug-ins
- Packaging the component
- Including SQL queries
- Creating backend menu items
- Extra installation scripts
- Distribution
- Summary



