Learning: Extensions

There is an incredible amount that you can do with the features contained within eZ publish but there are times when there’s a specific feature that you require. eZ publish allows you to create your own modules to extend the system to meet your specific needs. It does this through the extension system that allows you to progam the functionality you need and incorporate it into the rest of the system.

Before you embark on creating an extension you should see if someone has done the work for you, no need to reinvent the wheel! There are many extensions that have already been created and contributed to the community, chances are you can find something that will suit your needs or that you can use as a starting point, eg. there are a number of payment gateways that have been built that you can install, others include import export functions, workflows, datatype plugins..etc. The other thing to consider is whether the functionality you are after is on the road map for the next release. eZ publish is constantly being extended and enhanced with new functionality. If you check what’s due to be included in the next release, you might find the functionality you are after is being worked on and by waiting, you won’t need to do the work yourself.

However, if you can’t find what you need, then you’ll have to create your own extension.

An extension is proprietary code that is stored in an extensions folder and accessed by the system as a module with views that you create.

To do this, you need to do the following steps:

1. Create extension base directory

2. Create directories of extension

3. Define configuration file(s) of extension

4. Initialize extension in site.ini for every or single siteaccess

5. Develop extension

  • Create templates
  • Create PHP files…etc

There’s quite a lot of detail that goes into creating an extension that is beyond the scope of this overview. To learn more, check the ez systems site for detailed documentation on creating extensions. Note: creating an extension is not a trivial task, if you’ve never used eZ publish before, you’ll want to take your time to understand how the system works in depth before attempting to create an extension. Typically, it takes a few months of working with eZ publish to get a good understanding of it, then you can start to look at creating extensions of your own.