mariobros
mariobros

Reputation: 899

Custom opencart admin page doesn't appear

i've create a custom admin page for my opencart panel. If I try to run route index.php?route=report/remarketing, system will log out instead of display page!

here's code:

controller

 class ControllerReportRemarketing extends Controller {
    public function index()
    {
    $template="report/remarketing.tpl";
    $this->load->language('report/remarketing');
    $this->load->model('report/remarketing');
    $this->template = ''.$template.'';
    $this->data['record'] = 'test';

    $this->children = array(
        'common/header',
        'common/footer'
    );
    $this->response->setOutput($this->render());
   }
}

model (have no methods)

class ModelReportRemarketing extends Model {
}

view

<?php echo $header; ?>
   <div id="content">
      <?php echo $record; ?>
   </div>
<?php echo $footer; ?>

Also i've setting access permission to user in User Groups

Upvotes: 0

Views: 324

Answers (1)

user3274165
user3274165

Reputation: 138

I think you are using the old version opencart's code, here is the example for opencart version 2.0.2.0:

First, creat 'remarketing.php' under admin\language\english\report, add below content:

<?php
// Heading
$_['heading_title']    = 'Marketing Report';

Second, modify 'remarketing.php' under admin\controller\report as below

<?php
class ControllerReportRemarketing extends Controller{ 
    public function index(){
        // displayed text import
        $this->load->language('report/remarketing');

        // get header and footer
        $data['breadcrumbs'] = array();
        $data['breadcrumbs'][] = array(
            'text' => $this->language->get('text_home'),
            'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL')
        );
        $data['breadcrumbs'][] = array(
            'text' => $this->language->get('heading_title'),
            'href' => $this->url->link('extension/feed', 'token=' . $this->session->data['token'], 'SSL')
        );
        $data['heading_title'] = $this->language->get('heading_title');
        $data['header'] = $this->load->controller('common/header');
        $data['column_left'] = $this->load->controller('common/column_left');
        $data['footer'] = $this->load->controller('common/footer');

        // the model, need not to import
        // $this->load->model('report/remarketing');

        // testing
        $data['record'] = 'test';

        $this->response->setOutput($this->load->view("report/remarketing.tpl", $data));
    }
}
?>

Last, modify 'remarketing.tpl' under admin\view\template\report

<?php echo $header; ?><?php echo $column_left; ?>
<div id="content">
  <div class="page-header">
    <div class="container-fluid">
      <h1><?php echo $heading_title; ?></h1>
      <ul class="breadcrumb">
        <?php foreach ($breadcrumbs as $breadcrumb) { ?>
        <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
        <?php } ?>
      </ul>
    </div>
  </div>
  <div class="container-fluid"><?php echo $record; ?></div>
</div>
<?php echo $footer; ?>

Upvotes: 0

Related Questions