Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Developing Extensions for Joomla! 5

You're reading from   Developing Extensions for Joomla! 5 Extend your sites and build rich customizations with Joomla! plugins, modules, and components

Arrow left icon
Product type Paperback
Published in Nov 2023
Publisher Packt
ISBN-13 9781804617991
Length 322 pages
Edition 1st Edition
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Carlos M. Cámara Mora Carlos M. Cámara Mora
Author Profile Icon Carlos M. Cámara Mora
Carlos M. Cámara Mora
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Preface 1. Part 1: Developing Components
2. Chapter 1: Planning Your Component FREE CHAPTER 3. Chapter 2: Developing the Backend of a Basic Joomla! Component 4. Chapter 3: Developing the Frontend of a Basic Joomla! Component 5. Chapter 4: Creating Forms in Joomla! 6. Chapter 5: Harnessing the Power of Joomla! in Your Component 7. Chapter 6: Adding a Web Service API to Your Component 8. Part 2: Developing Modules and Plugins
9. Chapter 7: Developing a Module 10. Chapter 8: Developing a Joomla! Plugin 11. Chapter 9: Adding a CLI to Your Extension 12. Part 3: Extending Templates
13. Chapter 10: Creating Unique Web Applications with Template Overrides 14. Chapter 11: Creating a Child Template in Joomla! 15. Part 4: Distributing Your Extensions
16. Chapter 12: Testing Your Extensions 17. Chapter 13: Security Practices in Joomla! 18. Chapter 14: Distributing Your Joomla! Extensions 19. Index 20. Other Books You May Enjoy

Planning Your Component

Joomla! is an extensible Content Management System (CMS). For years, people have used Joomla! to build great websites, such as company websites, sites for associations, niche social networks, blogs, and school websites.

Joomla's popularity stems from the plenty of features and functionalities it comes with – content and user management, custom fields to expand your articles and create directories, and built-in search, among others.

Even so, despite all these great features, it does not solve all the problems you may face when building a web application. In this book, you are going to learn how to use Joomla! to build solutions while leveraging the Joomla! FrameworkTM to make your work easier. Throughout this book, we will explore how to code our components, modules, plugins, and even templates to develop an integrated and portable solution to our technical problems.

The first step to solving a technical problem is always to write a good plan. The planning process provides a better understanding of the problem. In this chapter, we will go through the process of identifying our problem and writing a plan to solve it.

We will identify which parts of our problem correspond to which technical entities. After that, you will see how easy it is to define the basic architecture of your project. Finally, we will add some mock data that will be helpful when we start testing our work.

In this chapter, we are going to cover the following main topics:

  • Understanding what a Joomla! component is
  • Translating your problem into an application
  • Defining your component database structure
  • Adding mock data to your database

By the end of this chapter, you will be able to design and plan the development of a Joomla! component that solves a problem in the real world.

Technical requirements

You do not need special software to develop a Joomla! extension. A text editor should do that, but using the right tools will help you develop quicker. Also, all the tools we recommend are free and are available for several operating systems:

  • A Joomla! website. We recommend using a free site from https://launch.joomla.org. It’s perfect for testing purposes, and it has all the server tools we need. For development purposes, it’s better to use a local LAMP stack because you have better and faster access to all files.
  • Visual Studio Code as your code editor. You may download it from https://code.visualstudio.com/.
  • PhpMyAdmin as a database client to edit the database structure of your site. It is included in the server tools of the Joomla! Launch server panel.

You can find the code files for this chapter on GitHub: https://github.com/PacktPublishing/Developing-Extensions-for-Joomla-5/tree/chapter01

You have been reading a chapter from
Developing Extensions for Joomla! 5
Published in: Nov 2023
Publisher: Packt
ISBN-13: 9781804617991
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime