Slogan LiveZilla Live Help

How to build a Joomla Extension? A Complete Framework

Creating Toolbars and List Screens
Joomla! has a standard set of toolbar buttons used throughout the back end. These
keep a consistent appearance across components, so users quickly become familiar
with the corresponding functions. When necessary, the labeling and functions of
these buttons can be changed and new buttons can also be added.
Like the standard toolbars, Joomla! has a certain look for screens that list a set of
records from the database. These lists usually have links to edit screens for the
individual records and have toggles that change the publishing status of the record.
Automatic pagination is also available for lists.


Maintaining a Consistent Look and Reducing
Repetitive Code Using HTML Functions

Several standard CSS class names are used to format content and HTML elements
within your extensions. This makes it easy for your extensions to seamlessly blend in
with the rest of the website. Additionally, Joomla! includes many functions to automate
the generation of checkboxes, dropdowns, select lists, and other common elements.


Accessing the Database and Managing
Records

A common database object is used in Joomla! so that only one connection is made
during every page request. This object also provides a set of functions to make
queries and retrieve results. These functions are database independent and are
designed in such a way that you can install multiple copies of Joomla! into the same
database when desired.
Besides a common database object, Joomla! has a standard database table class.
Records can be created, read, updated, and deleted using the core functions. Logic
can also be added so that child records in other tables are deleted when the parent
is removed.


Security and the Preferred Way of Getting
Request Variables

Since Joomla! is a web application deployed within public reach, it is necessary
to protect it against security vulnerabilities. Joomla! employs a common
method of making sure scripts are only called within the framework and not
randomly executed.
Besides unintended script behavior, maliciously submitted data can be used by
hackers to gain access to your database. Joomla! provides functionalities that prevent
attacks of this kind.


Menu Item Control
A noteworthy feature of Joomla! is that navigation is separated from content.
However, if a component is not built to take this into account, it is possible that
website administrators will lose their template and module selections. To take
advantage of the system, it is necessary to use the intended menu item ID number in
generated links.
Also, it is possible to give administrators multiple options for linking to your
component. This will allow the choice of different display options for the front end
without the need to construct long, confusing URLs by hand. These options can
additionally offer admins some simple configuration controls.


Controlling the Logic Flow Within a
Component

The same file is always called when a certain component is loaded, but different
functions are called within. Joomla! uses standard variables to determine which
function to execute on each request. There are also classes available to automate the
flow based on these variables.
At a minimum, components are designed to separate the output from the database
and other processing functions. Larger components will separate the logic flow using
a controller, the data access methods using a model, and the output using views.
These conventions make it easier to maintain the code and help the component
perform in a reliable and predictable way.


Configuration Through XML Parameters
Rather than creating a separate table to hold the configuration for an extension,
Joomla! sets aside a place where short values can be held. These variables are
defined through an XML file, which is installed with the extension. The XML file also
provides default values and constraints for these parameters. Saving and retrieving
of these values is automated; handwritten queries are not needed.


Packaging and Distributing
Once all of the code is complete, it is easily packaged for others to use. A listing of all
the files involved is added to the XML file. Any queries needed for table creation are
also included. All the files are then compressed in an archive. The extension is then
ready to be installed on any Joomla!-based website.

Comments

avatar yoomark
0
 
 
Hei brother,Thanks for a nice tutorial.Thanks.
Name *
Email (For verification & Replies)
URL
Code   
Submit Comment
Cancel
avatar chai
0
 
 
this is very helpfull, thanks.. good for developer like me..nice info
Name *
Email (For verification & Replies)
URL
Code   
Submit Comment
Cancel
Gosh.... Where's the tutorial?
Name *
Email (For verification & Replies)
URL
Code   
Submit Comment
Cancel
avatar sokkhim
0
 
 
Hi brother,

Your Web Site so Best!!!

Yes, I am sure that your tutorial is so good. But I still have problem with joomla frame work. And I want to request you that did you have tutorial that say about using joomla framework?

Because I don't know much about the joomla framework. I alway using php class and extense for my own class to the template.
It hard for me.

I want to learn and know more about joomla
Name *
Email (For verification & Replies)
URL
Code   
Submit Comment
Cancel
Name *
Email (For verification & Replies)
URL
Code   
Submit Comment
button_logo_portfolio
button_quote
button_testimonials

Subscribe Tutorials

Enter your email address:

Paypal Donation

Enter Amount:

Subscribe Joomla Tutorials Newsletter

Name:

Email:


Enter your email address: