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
96
97
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Reports\Setup;
use Magento\Cms\Model\PageFactory;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
/**
* @codeCoverageIgnore
*/
class InstallData implements \Magento\Framework\Setup\InstallDataInterface
{
/**
* Page factory
*
* @var PageFactory
*/
private $pageFactory;
/**
* Init
*
* @param PageFactory $pageFactory
*/
public function __construct(PageFactory $pageFactory)
{
$this->pageFactory = $pageFactory;
}
/**
* {@inheritdoc}
*/
public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
{
$setup->startSetup();
/*
* Report Event Types default data
*/
$eventTypeData = [
[
'event_type_id' => \Magento\Reports\Model\Event::EVENT_PRODUCT_VIEW,
'event_name' => 'catalog_product_view'
],
['event_type_id' => \Magento\Reports\Model\Event::EVENT_PRODUCT_SEND, 'event_name' => 'sendfriend_product'],
[
'event_type_id' => \Magento\Reports\Model\Event::EVENT_PRODUCT_COMPARE,
'event_name' => 'catalog_product_compare_add_product'
],
[
'event_type_id' => \Magento\Reports\Model\Event::EVENT_PRODUCT_TO_CART,
'event_name' => 'checkout_cart_add_product'
],
[
'event_type_id' => \Magento\Reports\Model\Event::EVENT_PRODUCT_TO_WISHLIST,
'event_name' => 'wishlist_add_product'
],
['event_type_id' => \Magento\Reports\Model\Event::EVENT_WISHLIST_SHARE, 'event_name' => 'wishlist_share'],
];
foreach ($eventTypeData as $row) {
$setup->getConnection()
->insertForce($setup->getTable('report_event_types'), $row);
}
/**
* Prepare database after data upgrade
*/
$setup->endSetup();
/**
* Cms Page with 'home' identifier page modification for report pages
*/
/** @var $cms \Magento\Cms\Model\Page */
$cms = $this->pageFactory->create();
$cms->load('home', 'identifier');
// @codingStandardsIgnoreStart
$reportLayoutUpdate = '<!--
<referenceContainer name="right">
<action method="unsetChild"><argument name="alias" xsi:type="string">right.reports.product.viewed</argument></action>
<action method="unsetChild"><argument name="alias" xsi:type="string">right.reports.product.compared</argument></action>
</referenceContainer>-->';
// @codingStandardsIgnoreEnd
/*
* Merge and save old layout update data with report layout data
*/
$cms->setLayoutUpdateXml($cms->getLayoutUpdateXml() . $reportLayoutUpdate)
->save();
}
}