Developing Plugins, Themes and Custom Scripts with e107.

Hello World

To create a simple test script, create a new file called test.php in your root folder with the following php:

		require_once("class2.php");
require_once(HEADERF);
echo "Hello World";
require_once(FOOTERF);

Then point your browser to www.yoursite.com/test.php

Files and Folders

Below is the basic folder-structure of the e107 installation.

Folder Can be modified Description
e107_admin No Contains main files used for the admin area.
e107_core No Contains core assets. You should not make changes within this folder.
e107_handlers No Contains core functions and classes. You should not make changes within this folder.
e107_images Not Usually Contains core images. You should not normally need to make changes within this folder.
e107_languages Not the English folder. Contains core language files.
e107_media Not usually Contains Media such as downloadable images or files which are specific to your installation.
e107_plugins Yes Contains all plugins, installed and uninstalled. You may manually add plugins to this folder if need be.
e107_system Not usually Contains private files such as logs, plugin and theme downloads which are specific to your installation.
e107_theme Yes Contains all themes, installed and uninstalled. You may manually add themes to this folder if need be.
e107_web No Contains core js and css packages.

Debugging

Your code should not produce any PHP warnings or notices during normal use. This primarily implies that all variables must be defined before being used. It also implies that a corrupted installation may produce errors, although as far as practicable the code should accommodate this. Many PHP notices can be avoided by using the functions vartrue() and varset().

We recommend this collection of Firefox Addons. The most important being the e107 Debugger. If you don't wish to use the debugger, you can still activate various debugging modes manually, by changing the query string of the url. ie. directly after .php? add [debug=xxxx]

Query Description
[debug=basic+] Display basic error information
[debug=notice+] Display PHP Notices.
[debug=warning+] Display PHP Warnings.
[debug=time+] Display load/processing times
[debug=sql+] Display SQL info.
[debug=-] Disable debugging. 

Social Links