-
Notifications
You must be signed in to change notification settings - Fork 0
/
pitticafeatures.php
64 lines (52 loc) · 1.77 KB
/
pitticafeatures.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
<?php
/**
* 2020 Pittica S.r.l.s.
*
* @author Lucio Benini <info@pittica.com>
* @copyright 2020 Pittica S.r.l.s.
* @license http://opensource.org/licenses/LGPL-3.0 The GNU Lesser General Public License, version 3.0 ( LGPL-3.0 )
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class PitticaFeatures extends Module
{
protected $config_form = false;
public function __construct()
{
$this->name = 'pitticafeatures';
$this->tab = 'front_office_features';
$this->version = '1.0.0';
$this->author = 'Pittica';
$this->need_instance = 1;
parent::__construct();
$this->displayName = $this->l('Features');
$this->description = $this->l('Sort and organize product features.');
$this->ps_versions_compliancy = array(
'min' => '1.7',
'max' => _PS_VERSION_
);
}
public function install()
{
return parent::install() && $this->registerHook('filterProductContent');
}
public function hookFilterProductContent($params)
{
$features = array();
if (!empty($params['object']['features'])) {
foreach ($params['object']['features'] as $feature) {
if (empty($features[$feature['id_feature']])) {
$features[$feature['id_feature']] = $feature;
} else {
$features[$feature['id_feature']]['value'] = implode(', ', array(
$features[$feature['id_feature']]['value'],
$feature['value']
));
}
}
}
$params['object']['features'] = $features;
return $params;
}
}