
Learn how to set up a basic, bare bones component upon which we will build on in subsequent exercises.
In order for the component to store and retrieve its own data, a database table needs to be included in the installation package.
Data needs to be retrieved from the database and displayed on the website. Display dynamic data using Joomla!'s 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.
Understand how to add a Language File and a Menu Item Type XML File to the component.
Entries in the database need to be editable. Jooma!'s JForm is the solution for this, once it is added 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.
As you need to create new entries and delete existing entries, learn how to add buttons for these functions.
Data needs to be organized into categories. Here you’ll understand how to link entries to Joomla!'s categories table.
The site component needs to display the data's category organization. Here you’ll learn how to add category views to the site component.
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.
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.
The component needs to handle SEF URLs. Here you’ll learn how to use the Router file to handle the SEF URLs in Joomla!
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.
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.
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.
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.
Data saved in the database needs to be retrieved and displayed on the site. We will use Joomla!'s Parameter object to get 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.
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.
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.
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.
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.
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.
We want to insert and process other extensions’ content plugins in our component. We will add plugin triggers to our component.
Our component does not have settings for optional ways to display data. In this exercise we will add configuration options for the component.
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.
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.
We want the ability to alter the state of multiple recipes at once. We will enable batch processing in our component.
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.
We need a template with a different layout than the default Joomla! Template. In this exercise we will begin building a custom 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.
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.
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.