Learning Joomla! 3 Extension Development-Third Edition

Learning Joomla! 3 Extension Development-Third Edition

Language: English

Pages: 458

ISBN: 1782168370

Format: PDF / Kindle (mobi) / ePub

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.


  • 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

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, Third Edition" 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.

What you will learn from this book

  • 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


A practical guide with step-by-step examples that build on each other so you can learn by doing and get hands-on knowledge about creating your plugins, modules, and components in Joomla.

Who this book is written 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.

Learning Joomla! 3 Extension Development (3rd Edition)

Custom PC – August 2015

Network Security Technologies

Code: The Hidden Language of Computer Hardware and Software

Active Directory Cookbook (4th Edition)

Raspberry Pi for Kids (2015)
















Creates a blank page if someone browses to that folder directly. Creating the module PHP file There is actually more than one PHP file used in our module, we are going to create three. We will start out by creating a file mod_latestextensions.php in our mod_latestextensions folder, which is the first file that is executed when Joomla! loads our module. Create the file and add the following code:

Modules 391 Creating a package 365 Setting up an update server 370 Managing database changes 378 Updating the PHP files 385 Getting listed on the JED 385 Summary 389 Creating a search plugin 391 Creating a smart search plugin 400 Creating a featured portfolio module 408 Adding tags to our component 420 Summary 432 Index 433 [ vi ] Preface This book will give you a step-by-step introduction with practical examples of how to develop plugins, modules, and components for Joomla! 3.

$query = $db->getQuery(true); $query->select( $this->getState( 'list.select', 'a.id, a.title' ) ); $query->from($db->quoteName('#__folio').' AS a'); return $query; } } We first create the class in the form ComponentnameModelViewname, in our case FolioModelFolios, which extends from the base JModelList class: class FolioModelFolios extends JModelList The first function in our class sets up an array of all the fields we will be using in this view. You will notice that we are not using the alias.

{ JToolbarHelper::cancel('folio.cancel'); } else { JToolbarHelper::cancel('folio.cancel', 'JTOOLBAR_CLOSE'); } } } The class name is in the form ComponentnameViewViewname, in this case FolioViewFolio, and we are extending JViewLegacy as we are using the legacy MVC model: class FolioViewFolio extends JViewLegacy We will create two variables, an item array to store the data retrieved from the model, and a form variable used to build our form. protected $item; protected $form; Like the list view,.

Approaches. If you keep separate code bases for different Joomla! versions, then you can take full advantage of any new feature in the newer version and there will be less repetitive code, however, whenever you add a new feature or bug fix, you will need to apply these in two places. If you choose to support both the versions in the same code base, then you need to do more testing to make sure that a feature added for one version doesn't break something in the other version, or that you have a.

Download sample