Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

You can define menu in adminCP in file Install.php

Install.php
protected function setOthers()
{
    $this->admincp_menu = [
        "Manage Campaigns" => "betterads",
        "Add Placement" => "betterads.addplacement",
        "Manage Placements" => "betterads.placement",
        "Manage Invoice" => "betterads.invoice",
        "Manage Sponsorships" => "betterads.sponsor",
    ];//Do not put admincp here
    $this->admincp_route = 'admincp.betterads';//must be begun with admincp
}

 

On start.php

start.php
Phpfox_Module::instance()->addComponentNames('controller', [
    'betterads.admincp.add' => '\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');
});

 

And then, we add 6 controllers file and 6 view files.

Path of 6 controller files:

  • Apps\phpFox_BetterAds\Controller\Admin\AddController.php

  • Apps\phpFox_BetterAds\Controller\Admin\InvoiceController.php

  • Apps\phpFox_BetterAds\Controller\Admin\PlacementController.php

  • Apps\phpFox_BetterAds\Controller\Admin\SponsorController.php

  • Apps\phpFox_BetterAds\Controller\Admin\AddPlacementController.php

  • Apps\phpFox_BetterAds\Controller\Admin\IndexController.php

Path of 6 view files

  • PF.Site/Apps/phpFox_BetterAds/views/controller/admincp/add.html.php
  • PF.Site/Apps/phpFox_BetterAds/views/controller/admincp/addplacement.html.php
  • PF.Site/Apps/phpFox_BetterAds/views/controller/admincp/index.html.php
  • PF.Site/Apps/phpFox_BetterAds/views/controller/admincp/invoice.html.php
  • PF.Site/Apps/phpFox_BetterAds/views/controller/admincp/placement.html.php
  • PF.Site/Apps/phpFox_BetterAds/views/controller/admincp/sponsor.html.php

Sample structure of a controller file

AddController.php
<?php
namespace Apps\phpFox_BetterAds\Controller\Admin;

use Phpfox;
use Admincp_Component_Controller_App_Index;
use Phpfox_Plugin;

defined('PHPFOX') or exit('NO DICE!');

/**
 * Class AddController
 * @author Neil <neil@phpfox.com>
 * @package Apps\phpFox_BetterAds\Controller\Admin
 */
class AddController extends Admincp_Component_Controller_App_Index
{
    public function process()
    {
        parent::process();

        //Put your code here
    }

    public function clean()
    {
        (($sPlugin = Phpfox_Plugin::get('betterads.component_controller_admincp_add_clean')) ? eval($sPlugin) : false);
    }
}

 

 

 

  • No labels