How to write a hello world plugin
If you have read our first blog post
you might know the below two principals followed by our forum's plugin system:
- A plugin must be very very very easy to develop
- A plugin must be able to modify every aspect of the forum without modifying the core
Step 1: Required files & content
The first thing you need to do is create the plugin folder and setup the structure . To do so, open your
folder and browse to
. Create the plugin folder
here. Inside the folder create the required files
as shown in the image above.
Note: The file names must match the folder name. so, if you have a plugin folder named
the two files will be
Step 2: Plugin Info & activation
The very first piece of code added to any plugin should be the plugin information. The
file tells codoforum that your plugin exists and adds it to the plugin management system in the backend so that it can be activated. As a minimum, the plugin name, version and core is required, but you can provide other information such as a description or author details. The info code can be seen below – this should be added to the
$info['name'] = 'Hello World';
$info['description'] = 'A Demo Plugin';
$info['version'] = '1.x';
$info['author'] = "codologic";
$info['author_url'] = 'http://codologic.com';
$info['license'] = 'MIT License';
$info['core'] = '1.x'; //works with which version of codoforum?
With that added to the info file, open up codoforum admin in your browser and have a look at the plugins section. The plugin should be listed, click enable to activate the plugin as shown below.
Step 3: Display Hello World
Now open the
file and copy the code shown below,
echo "Hello, World!";
Now open your browser, and enter
http://domain.com/helloworld if you have enabled search engine friendly URLs.
you will recieve a raw output as shown below,
You just saw how to get raw output based on the URL by using the dispatch method, you can learn more about the dispatch method
or move to the next part i.e how to display hello world in an existing layout/template.