Book Image

Developing Extensions for Joomla! 5

By : Carlos M. Cámara Mora
5 (3)
Book Image

Developing Extensions for Joomla! 5

5 (3)
By: Carlos M. Cámara Mora

Overview of this book

Joomla! 5 is a groundbreaking CMS that helps you take a significant leap into the world of content management systems. Joomla! 5 features a variety of impressive new features that align with current web standards and enable you to experience lightning-fast performance for optimal web page optimization, leverage the new code architecture, and tap into the WebService API, among others. This book takes you on a journey of extending Joomla's capabilities by developing your own extensions. The chapters not only explain the key concepts behind Joomla's architecture but also equip you with the latest techniques for crafting components and plugins. You’ll discover how to leverage existing features within Joomla! to empower your extensions and create tailored solutions. The book takes you from the initial stages of planning your extension development to a fully featured finished product. As you advance, you'll learn invaluable techniques for testing your extension, addressing common issues, and preparing it for publication. The concluding chapters of this comprehensive guide teach you how to test your extension for common issues, along with how to publish the extension for everyone to use. By the end of this book, you’ll have the confidence and skills to complete the cycle of extension development.
Table of Contents (21 chapters)
1
Part 1: Developing Components
8
Part 2: Developing Modules and Plugins
12
Part 3: Extending Templates
15
Part 4: Distributing Your Extensions

What this book covers

Chapter 1, Planning Your Component, introduces the problem we want to solve and provides a simple methodology to plan the development for our extension. It also defines the database architecture that we are going to use in the book.

Chapter 2, Developing the Backend of a Basic Joomla! Component, starts the development of the backend part of a Joomla! component. It introduces Joomla! 5 MVC architecture and the new Joomla! development paradigm.

Chapter 3, Developing the Frontend of a Basic Joomla! Component, shows how to develop the frontend area of our component. It introduces Joomla! Routing and how to use Joomla! Web Assets Manager to add Styles and JavaScript to our component.

Chapter 4, Creating Forms in Joomla!, provides an overview of using forms in Joomla!. It shows how to create our forms using Joomla! API methods. It also covers Joomla! standard form fields and how to develop our own form fields. Finally, it shows how we can add server-side and client-side validation to our forms.

Chapter 5, Harnessing the Power of Joomla! in Your Component, provides a guide on the Joomla! core features we can use in our developments. It shows how to add Joomla! core permissions to our component using Joomla! ACL, it covers how to add Joomla! Categories to our component. This chapter also demonstrates how to integrate Joomla! custom fields in our extension and how to use the Joomla! translation system.

Chapter 6, Adding a Web Service API to Your Component, introduces Joomla! Web Service API. It also shows how to develop a Web Service endpoint for our extensions.

Chapter 7, Developing a Module, shows how to develop a Joomla! module using the new Joomla! architecture. It also introduces module helpers to develop more complex modules.

Chapter 8, Developing a Joomla! Plugin, introduces Joomla! plugins and shows the new plugin architecture. It explains how to trigger plugin events and covers how to develop plugins for our component.

Chapter 9, Adding a CLI to Your Extension, introduces Joomla! Command Line Interface usage. It also covers how to develop a console command for Joomla!, style its output, and include parameters in the command.

Chapter 10, Creating Unique Web Applications with Template Overrides, shows how to change any Joomla! template to meet your design specifications using template overrides. It also explains how to expand components by adding extra views.

Chapter 11, Creating a Child Template in Joomla!, introduces Joomla! template development through the new child template feature.

Chapter 12, Testing Your Extensions, shows how we can include PHP unit testing in our Joomla! extensions. It introduces Test Driven Development paradigm. It also covers how to create integration tests for your Joomla! component using Codeception. Finally, it explains how to test accessibility in your developments.

Chapter 13, Security Practices in Joomla!, covers Joomla! measures to secure your developments and provides useful tips to avoid common exploits. It also introduces the JED Checker tool for further checks.

Chapter 14, Distributing Your Joomla! Extensions, explains the manifest files for our extensions and it shows how to create a package for them. It also covers how to include an update server for our extensions. Finally, the chapter describes the mechanism built in Joomla! to allow updating extensions that are behind a paywall.