You can define menu menus in adminCP AdminCP in file Install.php
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
protected function setOthers() { $this->admincp_menu = [ "'Manage Campaigns" => "betterads", "Add Placement" => "betterads.addplacement", To Do' => 'todo', // 'todo' is app's alias "Manage Placements" => "betterads.placement", "Manage Invoice" => "betterads.invoice", "Manage Sponsorships" => "betterads.sponsor", ];//Do not put admincp here $this->admincp_route = 'admincp.betteradstodo'; //must be'todo' begunis withapp's admincpalias } |
...
|
After that, on start.php, we add below lines.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Phpfox_Module::instance() // 'todo' is app's alias $module->addComponentNames('controller', [ 'betteradstodo.admincp.addindex' => '\Apps\phpFox_BetterAds\Controller\Admin\AddController', 'betterads.admincp.index' => '\Apps\phpFox_BetterAds\Controller\Admin\IndexController', 'betterads.admincp.addplacement' => '\Apps\phpFox_BetterAds\Controller\Admin\AddPlacementController', 'betterads.admincp.invoice' => '\Apps\phpFox_BetterAds\Controller\Admin\InvoiceController', 'betterads.admincp.placement' => '\Apps\phpFox_BetterAds\Controller\Admin\PlacementController', 'betterads.admincp.sponsor' => '\Apps\phpFox_BetterAds\Controller\Admin\SponsorController', ]) ->addTemplateDirs([ 'betterads' => PHPFOX_DIR_SITE_APPS . 'phpFox_BetterAds' . PHPFOX_DS . 'views', ])->addAliasNames('betterads', 'phpFox_BetterAds'); group('/betterads/admincp', function () { route('/', 'betterads.admincp.index'); route('/add', 'betterads.admincp.add'); route('/addplacement/*', 'betterads.admincp.addplacement'); route('/placement', 'betterads.admincp.placement'); route('/invoice', 'betterads.admincp.invoice'); route('/sponsor', 'betterads.admincp.sponsor'); });Controller\AdminManageTodoController::class ]); group('todo/admincp', function () { route('/', 'todo.admincp.index'); }); |
Finally, we add controller file and view file.
Path of controller file:
- Apps/TodoList/Controller/AdminManageTodoController.php
Path of view file:
- Apps/TodoList/views/controller/admincp/index.html.php
Sample structure of a controller file
Code Block | ||||
---|---|---|---|---|
| ||||
<?php
namespace Apps\TodoList\Controller;
use Phpfox_Plugin;
defined('PHPFOX') or exit('NO DICE!');
class AdminManageTodoController extends \Phpfox_Component
{
public function process()
{
//Put your code here
}
public function clean()
{
(($sPlugin = Phpfox_Plugin::get('todo.component_controller_admincp_manage_clean')) ? eval($sPlugin) : false);
}
}
|