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}