Learning Joomla! 3 Extension Development
2.6 (11 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
124 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Joomla! 3 Extension Development to your Wishlist.

Add to Wishlist

Learning Joomla! 3 Extension Development

Create your own custom Joomla! components, plugins, modules, and template extensions
2.6 (11 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
124 students enrolled
Created by Packt Publishing
Last updated 11/2015
Current price: $10 Original price: $85 Discount: 88% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build a component to save, retrieve, and display custom data
  • Add dynamic data with the model-view-controller to display the page and language file
  • Add finishing touches to the component which include a router file, print view, and RSS feed
  • Implement ACL in a component and add parameters to a menu item
  • Add category functionality to a component
  • Create a frontend editing form and add it to a component
  • Build a basic module and add standard field types to a module
  • Create search and content plugins for a custom component
  • Build a template that uses Bootstrap CSS
View Curriculum
  • A working knowledge of Joomla! 3 administration, PHP, and MySQL is a requirement to follow along with this course, but prior knowledge of using extensions is not expected.
  • Learning Joomla! 3 Extension Development contains step-by-step instructions on how to utilize Joomla! extensions to achieve optimal performance on your website. It shows you how to perform specific tasks in Joomla! using the popular extensions available in the Joomla! extensions directory. It will also help you to choose the right extension for performing a specific task in Joomla!

This video course provides you with a step-by-step tutorial for building a basic component with frontend editing. You will also learn how to build both content and search plugins for your component, how to build a module to display data from your component, and finally how to build a template using Bootstrap CSS.

The course starts by teaching you how to build a basic, bare bones component for inserting and displaying recipes using the minimum amount of code that is needed for a component. No component is complete without search and content plugins. You will start off by building standard search and smart search plugins, a content plugin for inserting our component’s data into a content item, and adding code to insert other plugins’ data into our display page. The plugins will make our recipes searchable on the site and will enable the insertion of recipes into content articles.

You will then move on to build a basic module, add standard field types, and finally add a custom field type when standard fields are not enough. The module will display select recipes from our collection. Finally, you will also learn how to build a template that uses Twitter Bootstrap’s CSS.

Learning Joomla! 3 Extension Development makes it fast and easy to develop your own custom Joomla! components, plugins, modules, and templates.

About the Author

Donna Vincent has been developing websites since 2004, and she has been using the Joomla! platform since 2006. In 2009, she began developing custom Joomla! extensions for her clients. She is also an EDI and barcode programmer. Donna lives and works in the New York City area and enjoys food photography when not building websites.

Who is the target audience?
  • If you want to build a basic Joomla! website and are looking for information on the use of Joomla! extensions and their customization, then this course is for you.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
32 Lectures
Component Development- Part I
5 Lectures 15:18

Learn how to set up a basic, bare bones component upon which we will build on in subsequent exercises.

Getting Started with Component Development

In order for the component to store and retrieve its own data, a database table needs to be included in the installation package.

Adding a Database to the Component

Data needs to be retrieved from the database and displayed on the website. Display dynamic data using Joomla!'s Model-View-Controller.

Displaying Dynamic Data on the Site using the Model-View-Controller

The list of data needs to be clickable so that the user can click through to the full text page. This is where adding an Item View comes into action.

Adding an Item View

Understand how to add a Language File and a Menu Item Type XML File to the component.

Language and Menu Item Type
Component Development - Part 2
5 Lectures 15:55

Entries in the database need to be editable. Jooma!'s JForm is the solution for this, once it is added to the admin component.

Adding a Form to the Admin Component

You will need to save changes that are input through the edit view. Learn how to add buttons to perform the save and close functions on the edit view.

Add Save and Close Buttons to the Admin Component

As you need to create new entries and delete existing entries, learn how to add buttons for these functions.

Preview 02:53

Data needs to be organized into categories. Here you’ll understand how to link entries to Joomla!'s categories table.

Adding Categories to the Component

The site component needs to display the data's category organization. Here you’ll learn how to add category views to the site component.

Adding Categories to the Site Component
Component Development - Part 3
5 Lectures 15:43

It is typical for Joomla! components to use the fields alias, meta description, meta keywords, publish up, and publish down dates. Here you’ll learn how to add fields to the component that are common to most Joomla! Components.

Adding Standard Fields to the Component

Publishing options and metadata has been set for items using the admin component. They now need to be used when displaying items on the site. Learn how to apply the publishing options and metadata settings to the site component.

Applying the Publishing Options and Metadata

The component needs to handle SEF URLs. Here you’ll learn how to use the Router file to handle the SEF URLs in Joomla!

Joomla! Router for SEF URLs

The admin needs to be able to change the state of an item to published or unpublished. Here you’ll learn how to add a field for publishing and unpublishing items.

Preview 02:46

You need a way to get a printable view of the page, send an email with a link to the page, and get an RSS feed of the category list. In this video, you’ll learn how to add a print and email option and RSS feed to the component.

Adding a Print and Email Option and RSS Feed to the Component
Module Development
5 Lectures 15:24

We need to build a module for a Joomla! site. We will start with the simplest format, which we can use to build upon later, and publish it to the site.

Preview 03:07

We need the module to display user-entered data instead of hardcoded text. We will add three different types of form fields for entering text.

Standard Form Field Types

Data saved in the database needs to be retrieved and displayed on the site. We will use Joomla!'s Parameter object to get data.

Output Form Field Data

Alternate layout options are needed, as well as custom dynamic select lists. We will use the modulelayout and SQL form fields to accomplish this.

Form Fields for Module Layout and SQL

We need a field type for our form that is not one of the standard Joomla! field types. We will build a custom field type.

Custom Field Type
Plugins and Languages
5 Lectures 15:18

We want the ability to insert a recipe into a content article or any other extension that processes content plugins. We will do this by creating a content plugin that will render the specified recipe.

Building a Content Plugin

We want a button on the WYSIWYG editor to help us insert the recipe plugin by displaying a popup list of recipes to choose from. We will create an extended editor plugin to accomplish this.

Building An Editor Button

We want our component's content to be included in Joomla!'s site search function. We will create a search plugin that includes our component's title and recipe fields in Joomla!'s search.

Building a Search Plugin

We want our component's content to be included in Joomla!'s site smart search function. We will build a plugin that will include our component's title and recipe in the Joomla!'s finder component.

Building a Smart Search Plugin

We want to insert and process other extensions’ content plugins in our component. We will add plugin triggers to our component.

Process Content Plugins
Component Development and Configuration
5 Lectures 15:40

Our component does not have settings for optional ways to display data. In this exercise we will add configuration options for the component.

Component Configuration Options

We have configuration settings for the component but we don't have a way to override them on the menu item level. In this exercise we will add menu item options which will override the component configuration options.

Preview 02:38

We need a way to control access to the component on the site and the administrator area. We will implement Joomla!'s ACL in our component.

Enabling Joomla!'s Access Control List (ACL)

We want the ability to alter the state of multiple recipes at once. We will enable batch processing in our component.

Batch Processing

We need to be able to add and edit recipes on the site's frontend. We will create a new view in the site component for submitting and editing recipes.

Frontend Editing
Template Development
2 Lectures 05:31

We need a template with a different layout than the default Joomla! Template. In this exercise we will begin building a custom template.

The Basic Template

Our template needs module positions in order to publish modules in the template. In this exercise we will add module positions, module chrome, create acustom chrome, and a collapsible module position.

Adding Module Positions
About the Instructor
Packt Publishing
3.9 Average rating
8,109 Reviews
58,487 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.