Code: Select all
<?php
namespace Opencart\Admin\Controller\Extension\CanvasPro\Module;
class CanvasPro extends \Opencart\System\Engine\Controller {
public function install() {
$this->load->model('setting/event');
$this->model_setting_event->addEvent([
'code' => 'canvaspro_menu',
'description' => 'Add CanvasPro Menu Item',
'trigger' => 'admin/view/common/column_left/after',
'action' => 'extension/canvaspro/module/canvaspro|addMenu',
'sort_order' => 0,
'status' => 1
]);
}
public function uninstall() {
$this->load->model('setting/event');
$this->model_setting_event->deleteEventByCode('canvaspro_menu');
}
public function addMenu(string $route, array &$args): void {
$this->load->language('extension/canvaspro/module/canvaspro');
$data = &$args[0];
$menu_item = [
'id' => 'menu-canvaspro',
'icon' => 'fa fa-cube',
'name' => $this->language->get('text_salas'),
'href' => $this->url->link('extension/canvaspro/module/canvaspro', 'user_token=' . $this->session->data['user_token'], true),
'children' => [
[
'name' => $this->language->get('text_add_new'),
'href' => $this->url->link('extension/canvaspro/module/canvaspro|add', 'user_token=' . $this->session->data['user_token'], true),
'children' => []
],
[
'name' => $this->language->get('text_settings'),
'href' => $this->url->link('extension/canvaspro/module/canvaspro|setting', 'user_token=' . $this->session->data['user_token'], true),
'children' => []
]
]
];
$menu_inserted = false;
foreach ($data['menus'] as &$menu) {
if ($menu['id'] == 'menu-design') {
array_unshift($menu['children'], $menu_item);
$menu_inserted = true;
break;
}
}
if (!$menu_inserted) {
$data['menus'][] = $menu_item;
}
}
public function index(): void {
$this->load->language('extension/canvaspro/module/canvaspro');
$this->document->setTitle($this->language->get('heading_title'));
$data['heading_title'] = $this->language->get('heading_title');
$data['text_add_new'] = $this->language->get('text_add_new');
$data['text_setting'] = $this->language->get('text_setting');
$data['breadcrumbs'] = [];
$data['breadcrumbs'][] = [
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'])
];
$data['breadcrumbs'][] = [
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('extension/module/canvaspro', 'user_token=' . $this->session->data['user_token'])
];
$data['add_new'] = $this->url->link('extension/module/canvaspro/canvaspro.addNew', 'user_token=' . $this->session->data['user_token']);
$data['setting'] = $this->url->link('extension/module/canvaspro/canvaspro.setting', 'user_token=' . $this->session->data['user_token']);
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
$this->response->setOutput($this->load->view('extension/canvaspro/module/canvaspro', $data));
}
public function add() {
echo "Add New";
}
public function setting() {
echo "Setting";
}
}