Extending core functionality (addons)

triangle-exclamation

Introduction

There are several ways to extend the core functionality of e107. One of those ways is by using so-called "addons". These addons are files which reside in each plugin's folder and allow a plugin to embed itself inside e107's core pages and functions.

The addons can be recognised by their e_xxxxx.php naming format. By simply placing them inside your plugin's folder, they will be auto-detected during installation and integrated into the system.

circle-exclamation
circle-info

TIP: The _blank plugin in the e107_plugins folder contains example addons that may be an easy reference for you.

Overview of all plugin addons

Name

Description

Allows to extend areas of the Admin UI

Allows a plugin to add customized BBCodes.

Allows a plugin to override the default ๐Ÿ‘‰comments 'engine'arrow-up-right

Allows a plugin to add additional ๐Ÿ‘‰Scheduled Tasksarrow-up-right (or 'cronjobs') to e107.

Adds custom plugin information to the dashboard of e107's admin area.

Deprecated! Use e_print instead.

Allows a plugin to easily hook into system events and trigger their own methods/functions.

Allows a plugin to generate content for the ๐Ÿ‘‰Featurebox pluginarrow-up-right.

Allows a plugin to include code in the footer of every page of the site

Allows a plugin developer to add their plugin as a ๐Ÿ‘‰Frontpagearrow-up-right option.

Allows a plugin to create automated entries for the ๐Ÿ‘‰Google Sitemap pluginarrow-up-right.

Allows a plugin developer to add data to <head> of every page.

Deprecated!

Allowed plugin developers to add information to the plugin configuration page sidebar. This has now been integrated within the Admin-UI through the renderHelp() method.

Deprecated! Use e_dashboard instead.

Allows a plugin to include a third-party library.

Deprecated!

Use e_sitelink instead.

Allows a plugin to hook into the ๐Ÿ‘‰List Latest pluginarrow-up-right

Allows a plugin to use e107's mailout feature for bulk mailing.

Provide configuration options for each instance of the plugin's menus.

Deprecated!

Use e_header instead.

Is loaded every time the core of e107 is included and allows a developer to modify or define code which should be loaded prior to the header or anything that is sent to the browser as output.

Adds a plugin to the notificationsarrow-up-right section in e107's admin area.

Allows a plugin to hook into all pages at the end (after closing </html>)

Allows a plugin to hook into e107's parser methods

Allows a plugin developer to specify content that is displayed in printer-friendly format.

Adds a plugin to the RSS plugin, and generates RSS feeds.

Adds a plugin to the search which generates 'related' links in news items and pages.

Adds a plugin to the ๐Ÿ‘‰Search pagearrow-up-right.

Allows a plugin to make their shortcodes available to core templates and templates of other plugins.

Allows a plugin to automatically generate ๐Ÿ‘‰Navigationarrow-up-right links

Deprecated! Use e_dashboard instead.

Deprecated! Use e_parse instead.

Allows a plugin to set categories for ๐Ÿ‘‰Public Uploadsarrow-up-right

Provides a simple way to add mod-rewrite redirects to a plugin's page. Used to create search-engine-friendly URLs through the e107::url() method.

Adds information about a specific user to the user's profile page, allows to add fields to the user settings page and allows to specify a routine that is run upon user deletion.

Plugin addons

circle-exclamation

e_admin.php

circle-info

TODO: Add example. See social plugin for an example.

e_bb.php

circle-info

TODO: Add example.

e_comment.php

circle-info

TODO: Add example. See social plugin for an example.

e_cron.php

This addon allows a plugin to add additional scheduled task options to e107. (see Admin Area > Tools > Scheduled Tasksarrow-up-right).

Example:

e_dashboard.php

This addon adds custom plugin information to the dashboard of e107's admin area. The 'latest', 'status' and 'website stats' areas may all contain information from your plugin.

circle-info

Previously, the e_latest and e_status addons were used separately for this. They have now been incorporated into the e_dashboard addon.

Example:

e_emailprint.php

circle-exclamation

e_event.php

This addon allows a plugin to easily hook into system events and trigger their own methods and functions using data provided by those events.

circle-check

Example:

e_featurebox.php

circle-info

TODO: Add example.

e_footer.php

This addon allows a plugin to include code in the footer of every page of the site.

circle-info

Please find an example in the "tinymce4" plugin.

e_frontpage.php

This addon allows a plugin developer to add their plugin as a ๐Ÿ‘‰Frontpagearrow-up-right option.

Example:

e_gsitemap.php

circle-info

TODO: Add example. See "news" plugin folder for an example.

e_header.php

This addon allows a plugin developer to add data to the <head> of every page. This file is loaded in the header of each page of your site. ie. Wherever you see require_once(HEADERF) in a script. Typically you would use one or all of the following functions within this file: e107::js(), e107::css() or e107::meta()

triangle-exclamation

Example:

e_help.php

circle-exclamation

e_latest.php

circle-exclamation

e_library.php

circle-info

Please find an example in the "_blank" plugin.

e_linkgen.php

circle-exclamation

e_list.php

circle-info

TODO: Add example.

e_mailout.php

This addon allows a plugin to use e107's mailout feature for bulk mailing.

circle-info

Please find an example in the "newsletter" plugin.

e_menu.php

This addon provides configuration options for each instance of the plugin's menus.

circle-info

The e_menu.php addon is a replacement for the old config.php file used in e107 v1.x.

Example:

e_meta.php

circle-exclamation

e_module.php

This addon is loaded every time the core of e107 is included. ie. Wherever you see require_once("class2.php") in a script.

It allows a developer to modify or define constants, parameters etc. which should be loaded prior to the header or anything that is sent to the browser as output. It may also be included in Ajax calls.

e_notify.php

This addon adds the plugin to the ๐Ÿ‘‰ Notifyarrow-up-right section in the Admin Area and allows a plugin to send notifications.

Example:

The notification can then be triggered by using:

e_output.php

This addon allows to hook into all pages at the very end (after the closing </html>). This is useful for example when capturing ๐Ÿ‘‰ output bufferingarrow-up-right.

e_parse.php

This addon allows to hook into e107's parser methods

Example:

e_print.php

This addon allows a plugin developer to specify content that is displayed in printer-friendly format

Example:

e_rss.php

This addon adds the plugin to the RSS plugin, and generates RSS feeds for the plugin.

Example:

e_related.php

This addon adds the plugin to the search which generates 'related' links in news items and pages of e107.

Example:

e_search.php

This addon adds the plugin to the 'search page' of e107.

Example:

e_shortcode.php

This addon allows a plugin to make their shortcodes available to core templates and templates of other plugins.

It's content is identical to that of a regular shortcode class except that all the methods must follow the following naming convention: sc_plugindir_name()

The $override property can be used to override existing core/plugin shortcodes. When set to true existing core/plugin shortcodes matching methods below will be overridden.

Example:

e_sitelink.php

This addon adds a sitelink sublink-generating function for your plugin. An example is auto-generated navigation drop-down menus for 'latest articles'.

Example:

e_status.php

circle-exclamation

e_tohtml.php

circle-exclamation

e_upload.php

circle-info

TODO: Add example.

e_url.php

This addon provides a simple way to add mod-rewrite redirects to the plugin's pages, without having to edit the .htaccess file. This addon is used to create Search-Engine-Friendly (SEF) URLs through the e107::url() method.

Example:

circle-info

TODO: add 'legacy' example and explanation

e_user.php

This addon allows to:

  • add information about a specific user to the user's profile page

  • add and save fields to the user configuration page (/usersettings.php)

  • specify a routine that is run upon user deletion

Example:

Last updated

Was this helpful?