-
Notifications
You must be signed in to change notification settings - Fork 0
/
fbsample_botraining.php
95 lines (85 loc) · 3.06 KB
/
fbsample_botraining.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
/**
* 2007-2019 Frédéric BENOIST
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author Frédéric BENOIST
* @copyright 2013-2019 Frédéric BENOIST <https://www.fbenoist.com/>
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
if (!defined('_PS_VERSION_')) {
exit;
}
use PrestaShop\PrestaShop\Adapter\SymfonyContainer;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
class FbSample_BoTraining extends Module
{
public function __construct()
{
$this->name = 'fbsample_botraining';
$this->version = '1.7.0';
$this->author = 'Frederic BENOIST';
$this->tab = 'others';
$this->bootstrap = true;
$this->ps_versions_compliancy = array(
'min' => '1.7.5',
'max' => _PS_VERSION_
);
parent::__construct();
$this->displayName = $this->l('BO Training Module');
$this->description = $this->l('PrestaShop 1.7 Back Office training module');
}
public function install()
{
include_once dirname(__FILE__).'/controllers/admin/adminsampleController.php';
return
AdminSampleController::installInBO(
$this,
$this->l('Sample Legacy controller')
)
&& parent::install()
&& $this->registerHook('displayAdminNavBarBeforeEnd')
&& $this->registerHook('displayLeftColumn')
&& $this->registerHook('displayBackOfficeHeader');
}
public function uninstall()
{
include_once dirname(__FILE__).'/controllers/admin/adminsampleController.php';
return AdminSampleController::removeFromBO()
&& parent::uninstall();
}
public function hookDisplayBackOfficeHeader()
{
// Use addCss : registerStylesheet is only for front controller.
$this->context->controller->addCss(
$this->_path.'views/css/fbsample_botraining.css'
);
}
public function hookDisplayLeftColumn($params)
{
var_dump(SymfonyContainer::getInstance());
}
public function hookdisplayAdminNavBarBeforeEnd($params)
{
$sfContainer = SymfonyContainer::getInstance();
return $sfContainer->get('twig')
->render('@PrestaShop/fbsample_botraining/menu.html.twig', [
'categ_title' => 'FbSample_BoTraining',
'ctr_title' => 'Call IndexController',
'ctr_url' => $sfContainer->get('router')->generate(
'fbsample_botraining_index',
array(),
UrlGeneratorInterface::ABSOLUTE_URL
),
]);
}
}