Learning Joomla! 3 Extension Development-Third Edition

If you have ideas for additional Joomla 3! features, this book will allow you to realize them. It’s a complete practical guide to building and extending plugins, modules, and components. Ideal for professional developers and enthusiasts.

Learning Joomla! 3 Extension Development-Third Edition

Learning
Tim Plummer

If you have ideas for additional Joomla 3! features, this book will allow you to realize them. It’s a complete practical guide to building and extending plugins, modules, and components. Ideal for professional developers and enthusiasts.
$26.40
$54.99
RRP $32.99
RRP $54.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free Sample

Book Details

ISBN 139781782168379
Paperback458 pages

About This Book

  • Clear steps to create your own plugins, modules, and components for Joomla 3
  • Guides you through extending your components by allowing them to interact with modules and plugins
  • Introduces you to packaging your extensions for distribution to other Joomla users
  • Enables you to secure your extensions and avoid common vulnerabilities by gaining some white hat hacking experience

Who This Book Is For

"Learning Joomla! 3 Extension Development" is for developers who want to create their own Joomla extensions. It is assumed you will have some basic PHP, HTML, and CSS knowledge, but you don’t need any prior Joomla programming experience. This book will also be useful to people who just want to make minor customizations to existing Joomla extensions and build on the work of others in the open source spirit.

Table of Contents

Chapter 1: Before you Start
Extension types and their uses
Joomla! versions that your extensions should support
Licensing and GPL
What business model should I adopt?
Tools you need to develop the Joomla! extensions
Coding standards
Legacy MVC versus new MVC
Upgrading a Joomla! 2.5 component to make it Joomla! 3 compatible
To fork or not to fork?
Summary
Chapter 2: Getting Started with Plugin Development
Plugin types
Plugin event triggers
Where do I start?
Creating the installation XML file
Creating the plugin PHP file
Zip it up and install your plugin
Adding the parameters to our plugin
Adding the language files
Summary
Chapter 3: Getting Started with Module Development
Where do I start?
Backend versus frontend modules
Creating the installation XML file
Creating the module PHP file
Creating the view
Connecting to the database
Zip it up and install your module
Backwards compatibility for Joomla! 2.5
Converting to the site module
Translating your module
Adding a help file
Template overrides
Making your module responsive
Summary
Chapter 4: Getting Started with Component Development
Where do I start?
Creating the component installation XML file
Creating a simple component
Setting up the database
Creating a form
Creating a view
Installer script
Zip it up and install your component
Summary
Chapter 5: Backend Component Development – Part 1
Adding additional fields
Adding columns to your view
Toolbar buttons and component options
View filters and search
Summary
Chapter 6: Backend Component Development – Part 2
Pagination
Adding views and submenu items
Access Control List (ACL)
Multi-database support
Summary
Chapter 7: Frontend Component Development
Getting started on the frontend
Creating a view
Adding CSS
Adding sample images
Creating another view
Menu item parameters
Translating your component
Updating data from the frontend
Using ReCaptcha in your component
Using our click-to-call plugin with this component
Integrating a third-party comments extension
Summary
Chapter 8: Security – Avoiding Common Vulnerabilities
Why you should care about security
Path disclosure
SQL injection
Local File Inclusion
Remote File Inclusion
Cross-site scripting
Cross-site Request Forgery
Some quick advice
Summary
Chapter 9: Packing Everything Together
Creating a package
Setting up an update server
Managing database changes
Getting listed on the JED
Summary
Chapter 10: Extending your Component with Plugins and Modules
Creating a search plugin
Creating a smart search plugin
Creating a featured portfolio module
Adding tags to our component
Summary

What You Will Learn

  • Extend Joomla using plugins
  • Develop both frontend and backend modules
  • Build a Joomla component that looks and behaves like the core components, to reduce the learning curve for your users
  • Discover common security vulnerabilities and what you can do to avoid them
  • Prepare your extensions for distribution
  • Manage updates and set up an update server
  • Integrate third party extensions in your component

In Detail

Joomla 3 is the first of the major open source content management systems that was meant to be mobile friendly by default. Joomla uses object-oriented principles, is database agnostic, and has the best mix of functionality, extensibility, and user friendliness. Add to that the fact that Joomla is completely community driven, and you have a winning combination that is available to everyone, and is the perfect platform to build your own custom applications.

"Learning Joomla! 3 Extension Development" is an integrated series of practical, hands-on tutorials that guide you through building and extending Joomla plugins, modules, and components. With Joomla having been downloaded well over 35 million times, there is a huge market for Joomla extensions, so you could potentially earn some extra cash in your spare time using your newly acquired Joomla extension development skills.

We will start with developing simple plugins and modules, and then progress to more complex backend and frontend component development. Then we will try our hand at ethical hacking, so you will learn about common security vulnerabilities and what you can do to avoid them. After that we will look at how you can prepare your extensions for distribution and updates, as well as how you can extend your components with various plugins and modules. Finally, you will end up with a fully functioning package of extensions that you can use on your own site or share with others.

If you want to build your own custom applications in Joomla, then "Learning Joomla! 3 Extension Development" will teach you everything you need to know in a practical, hands-on manner.

Authors

Table of Contents

Chapter 1: Before you Start
Extension types and their uses
Joomla! versions that your extensions should support
Licensing and GPL
What business model should I adopt?
Tools you need to develop the Joomla! extensions
Coding standards
Legacy MVC versus new MVC
Upgrading a Joomla! 2.5 component to make it Joomla! 3 compatible
To fork or not to fork?
Summary
Chapter 2: Getting Started with Plugin Development
Plugin types
Plugin event triggers
Where do I start?
Creating the installation XML file
Creating the plugin PHP file
Zip it up and install your plugin
Adding the parameters to our plugin
Adding the language files
Summary
Chapter 3: Getting Started with Module Development
Where do I start?
Backend versus frontend modules
Creating the installation XML file
Creating the module PHP file
Creating the view
Connecting to the database
Zip it up and install your module
Backwards compatibility for Joomla! 2.5
Converting to the site module
Translating your module
Adding a help file
Template overrides
Making your module responsive
Summary
Chapter 4: Getting Started with Component Development
Where do I start?
Creating the component installation XML file
Creating a simple component
Setting up the database
Creating a form
Creating a view
Installer script
Zip it up and install your component
Summary
Chapter 5: Backend Component Development – Part 1
Adding additional fields
Adding columns to your view
Toolbar buttons and component options
View filters and search
Summary
Chapter 6: Backend Component Development – Part 2
Pagination
Adding views and submenu items
Access Control List (ACL)
Multi-database support
Summary
Chapter 7: Frontend Component Development
Getting started on the frontend
Creating a view
Adding CSS
Adding sample images
Creating another view
Menu item parameters
Translating your component
Updating data from the frontend
Using ReCaptcha in your component
Using our click-to-call plugin with this component
Integrating a third-party comments extension
Summary
Chapter 8: Security – Avoiding Common Vulnerabilities
Why you should care about security
Path disclosure
SQL injection
Local File Inclusion
Remote File Inclusion
Cross-site scripting
Cross-site Request Forgery
Some quick advice
Summary
Chapter 9: Packing Everything Together
Creating a package
Setting up an update server
Managing database changes
Getting listed on the JED
Summary
Chapter 10: Extending your Component with Plugins and Modules
Creating a search plugin
Creating a smart search plugin
Creating a featured portfolio module
Adding tags to our component
Summary

Book Details

ISBN 139781782168379
Paperback458 pages
Read More