You can define menus in AdminCP in file Install.php
protected function setOthers()
{
$this->admincp_menu = [
'Manage To Do' => 'todo', // 'todo' is app's alias
];
$this->admincp_route = 'admincp.todo'; // 'todo' is app's alias
}
After that, on start.php, we add below lines.
// 'todo' is app's alias
$module->addComponentNames('controller', [
'todo.admincp.index' => 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
<?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);
}
}