Code Templates

Code templates provide the 'skeleton' from which Component Architect can generate Joomla components.  Each code template consists of folders and files which are used as the basis for multiple components.  By the use of specific naming standards for folders and files combined with an extensive code mark-up language, within the code templates, Component Architect is able to provide the flexibility to use component generation for the widest possible range of applications.

The 'mark-up language' is a series of tags within a code template which direct the code generation process,such as

[%%FOREACH FIELD%%]....some code....[%%ENDFOR FIELD%%]


These logic statements can be nested to an unlimited extent.  Besides logic statements values can also be inserted such as [%%FIELD_CODE_NAME%%] or [%%FIELD_TYPE%%].

During the development of Component Architect it was realised that the original idea of just providing Standard code templates to replicate Joomla! functionality, features and MVC structures was already available through several on-line and downloadable products.  But as our development had begun based on marked-up code templates we could, in fact, provide a wider range of code templates to meet many more development requirements in Joomla! and even provide non Joomla! code generation or even documentation or testing generation.

The initial outcome from this identification of greater potential are the two additional Professional code templates (Joomla! 3.x Enhanced and Joomla! 3.x Test Data Generator) provided with Component Architect Professional.  Further code template development of Component Architect is planned and indeed with Component Architect Professional you can develop you own versions of code templates.  Simply take a copy of the code template with Component Architect Professional and all the database information, folder structure and files are replicated so you can modify them at will.  Or you can start from scratch and develop your own new code templates.

Standard Code Templates

The Standard code templates provide the capability to generate fully working Joomla! components for specific versions of Joomla!.  The functionality and features included in the Standard code templates is based on that of the core components of Joomla. They are coded to combine features from com_content and com_contact which can support a wide range of other components.

Besides the folders, files and code for a component to be generated the Joomla! Standard code templates also provide other extensions to create a full package for a component.  This includes:

  • Modules for display of items
  • Search plugin
  • Smart Search plugin
  • Item Navigation plugin
  • Vote plugin
  • Pagebreak plugin
  • Email Cloaking plugin
  • Load Module plugin

In line with the change in release methodology by Joomla!, Component Architect will be releasing new Standard code templates for each major (e.g. 4.0) and minor (e.g. 3.2, 3.3, 3.4 etc.) release of Joomla!.
Note: for those not yet aware Joomla! is no longer using a Long Term Support (LTS) and Short Term Support (STS) releases system.  For further information see the following articles:

The free Component Architect product and the subscription based Component Architect Professional product will include Standard code templates for the following releases of Joomla:

  • Joomla! 3.4
  • Joomla! 3.3
  • Joomla! 3.2 (Deprecated - will be removed in the next release of Component Architect and Component Architect Pro i.e. v.1.2.0)
  • Joomla! 2.5 (Deprecated - will be removed in the next release of Component Architect and Component Architect Pro i.e. v.1.2.0)

The reason for maintaining separate versions of the Standard code templates for different STS releases of Joomla! is to make sure new features during the Joomla! development cycle are captured e.g. from 3.0 to 3.1 tagging was introduced and then in 3.2 version control was added.

Note: because of the flexibility of Component Architect you can always turn off the generation of those features which may cause problems in earlier releases of Joomla!.

Professional Code Templates

A range of Code Templates for Joomla! 3.x and Joomla! 2.5 which are supplied only in the Component Architect Professional product.

Additional features to those in the Standard Code Templates include support for:

  • Cascade of changes
  • View child records in administrator
  • Batch processing in administrator
  • Improved list and edit functionality in site views
  • Additional Tree layout site view
  • Backward compatibility to Joomla! 2.5 (version 2.5.6+)

For the the full list of features supported by Component Architect in the Standard and Professional code templates see the code templates comparison table.

Currently the Component Architect Professional product, in addition to Standard Code Templates for Joomla! 3.x and 2.5, also includes code templates for:

  • Joomla! 3.x Enhanced components
  • Joomla! 3.x Test Data Generator components

Enhancements/New Code Templates

The approach taken by Component Architect, using the flexibility of marked up code templates, extensive component definition and an adaptable code generation process provides the opportunity for almost unlimited scope in the functionality and features that can be automatically included in new components.

A number of enhancements to the Joomla! 3.x Enhanced code template are already being investigated, such as:

  • Support of notification emails
  • Log functionality for CRUD changes
  • Cascade functionality in front end (currently only available in the administrator area)
  • Enhanced layouts in front end (a basic tree view has been included but a number of other modern layouts are being investigated)
  • Greater flexibility in administrator list views (select columns and filters in Options)

Besides development of enhancements to the two additional Professional code templates (Joomla! 3.x Enhanced and Joomla! 3.x Test Data Generator) provided with Component Architect Professional, further development of new code templates is planned.  Initial focus will be in developing the following code templates:

  • Joomla!FoF (Framework on Framework) code template - to provide both a learning tool and code generation for FoF components/extensions.
  • Joomla Framework code template - to allow non-CMS based application generation

Ideas for future code templates include - no development currently planned:

  • Selenium System Testing code templates
  • PHPUnit Testing code template
  • Durpal code template
  • Commuity Builder AhaWow code template

Custom Code Templates

Custom code template development is already a feature included with Component Architect Pro, so you can take out a Professional subscription and start to develop you own versions of code templates straight away.  Simply take a copy of one of the code templates supplied with Component Architect Pro and all the database information, folder structure and files are replicated so you can modify them at will.

Currently the best way to amend the code is via an IDE (Integrated Development Environment) such as Eclipse, PHP Storm or one of the many other IDE's available.  In the next major release of the Component Architect Professional product a capability to amend files in the code template directly from Component Architect Professional is planned.  This will be based on the Templates Manager introduced in Joomla! 3.2.  This will be useful for minor amendments but the use of an IDE would still be preferable for major revision of code templates.

Documentation and guides on how to amend code templates will be provided to Component Architect Professional subscribers and support will also be provided via a subscriber only ticketing system.  Please note though that the support provided is not to actually rewrite code templates for you but to answer questions on the use of the different mark-up codes and naming standards.

If you do require development of custom code templates that are beyond your technical capabilities then Component Architect can also provide a Custom Development Service to Professional subscribers (you must have a Professional subscription before we will even consider such work). All requests for Custom Development Services will be assessed and potential solutions, time scales and costs discussed and agreed with you, the client before work commences.  Dependent on the type of request this may be a fixed price contract or on an hourly effort basis.

Either send your request via a Support Ticket or use the Contact Us form.

We use cookies to improve our website and your experience when using it. Cookies used for the essential operation of the site have already been set. To find out more about the cookies we use and how to delete them, see our Use of cookies.

I accept cookies from this site.