Hostbill plugin development
1)Create a folder with plugin name.
If plugin name is example, create a folder with name ‘example’.
2)Create a file named
class.example.php. Also a folder named admin in it.
3)In the admin folder create a file named
class.example_controller.php
also can create tpl files here.
Let’s create a tpl named default.tpl here.
4)Let’s create client side basic code in the file class.example.php.
<?php class example extends OtherModule { protected $modname = 'Example'; protected $description = 'Sampple Plugin'; protected $version = '0.1'; protected $info = array( 'haveadmin' => true, // is module accessible from adminarea 'haveuser' => false, // is module accessible from client area 'havelang' => false, // does module support multilanguage 'havetpl' => false, // does module have template 'havecron' => false, // does module support cron calls 'haveapi' => false, // is module accessible via api 'needauth' => false, // does module needs authorisation 'isobserver' => false, // is module an observer 'clients_menu' => false, // listing in adminarea->clients menu 'support_menu' => false, // listing in adminarea->support menu 'payment_menu' => false, // listing in adminarea->payments menu 'orders_menu' => false, // listing in adminarea->orders menu 'extras_menu' => true, // listing in extras menu 'mainpage' => true, // listing in admin/client home 'header_js' => false, // does module have getHeaderJS function ); protected $configuration=array( 'Field1' => array( 'value' => '', 'type' => 'input', 'description' => 'My description' ), 'Field2' => array( 'value' => '', 'type' => 'input', 'description' => 'My description' ), 'Field3' => array( 'value' => '0', 'type' => 'check', 'description' => 'My description' ) ); public function install() { echo "Install"; return true; } }
5)
<?php class example_controller extends HBController { /* ?cmd=example */ function _default($request) { //default function, just like our default index.php $showheaderandfooter = true; $module_type = 'Other'; $this->template->assign('test', 'test'); $this->template->render( APPDIR_MODULES . $module_type . '/example/admin/default.tpl', [], $showheaderandfooter ); } /* ?cmd=example&action=testfunction */ function testfunction($param) { //action=testfunction, even for post action we can do like this $showheaderandfooter = true; $module_type = 'Other'; $this->template->assign('test', 'test'); $this->template->render( APPDIR_MODULES . $module_type . '/example/admin/testfunction.tpl', [], $showheaderandfooter ); } }
6)The content added to the file admin/default.tpl is
{$test}