Skip to content

Commit a01cee7

Browse files
authored
Merge pull request #42 from ivanhrytsaim/11847-GTM-scroll-tracking
11847-GTM-scroll-tracking
2 parents 1649b22 + f3c7b32 commit a01cee7

File tree

5 files changed

+117
-0
lines changed

5 files changed

+117
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
/**
3+
* Copyright © Magefan ([email protected]). All rights reserved.
4+
* Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magefan\GoogleTagManager\Block\Adminhtml\System\Config\Form;
10+
11+
class InfoScrollTracker extends InfoPlan
12+
{
13+
14+
/**
15+
* @return string
16+
*/
17+
protected function getMinPlan(): string
18+
{
19+
return 'Extra';
20+
}
21+
22+
/**
23+
* @return string
24+
*/
25+
protected function getSectionId(): string
26+
{
27+
return 'mfgoogletagmanager_events_track_scroll';
28+
}
29+
30+
/**
31+
* @return string
32+
*/
33+
protected function getText(): string
34+
{
35+
return 'This option is available in <strong>Extra</strong> plans only.';
36+
}
37+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* Copyright © Magefan ([email protected]). All rights reserved.
4+
* Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magefan\GoogleTagManager\Model\Config\Source;
10+
11+
use Magento\Framework\Data\OptionSourceInterface;
12+
13+
class ScrollDirection implements OptionSourceInterface
14+
{
15+
/**
16+
* @return array[]
17+
*/
18+
public function toOptionArray()
19+
{
20+
return [
21+
['value' => 'vertical', 'label' => __('Vertical')],
22+
['value' => 'horizontal', 'label' => __('Horizontal')],
23+
];
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* Copyright © Magefan ([email protected]). All rights reserved.
4+
* Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magefan\GoogleTagManager\Model\Config\Source;
10+
11+
use Magento\Framework\Data\OptionSourceInterface;
12+
13+
class ScrollUnits implements OptionSourceInterface
14+
{
15+
/**
16+
* @return array[]
17+
*/
18+
public function toOptionArray()
19+
{
20+
return [
21+
['value' => 'percent', 'label' => __('Percent')],
22+
['value' => 'pixels', 'label' => __('Pixels')],
23+
];
24+
}
25+
}

etc/adminhtml/system.xml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,31 @@ To create a new secret, navigate in the
410410
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
411411
</field>
412412
</group>
413+
<group id="track_scroll" translate="label" type="text" sortOrder="62" showInDefault="1" showInWebsite="1" showInStore="1">
414+
<label>Track Scroll (GTM Extra) </label>
415+
<field id="info" translate="label comment" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
416+
<frontend_model>Magefan\GoogleTagManager\Block\Adminhtml\System\Config\Form\InfoScrollTracker</frontend_model>
417+
</field>
418+
<field id="enabled" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1">
419+
<label>Enable</label>
420+
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
421+
</field>
422+
<field id="scroll_direction" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1">
423+
<label>Scroll Direction</label>
424+
<source_model>Magefan\GoogleTagManager\Model\Config\Source\ScrollDirection</source_model>
425+
<depends>
426+
<field id="enabled">1</field>
427+
</depends>
428+
</field>
429+
<field id="scroll_units" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1">
430+
<label>Scroll Units</label>
431+
<source_model>Magefan\GoogleTagManager\Model\Config\Source\ScrollUnits</source_model>
432+
<depends>
433+
<field id="enabled">1</field>
434+
</depends>
435+
</field>
436+
</group>
437+
413438
</group>
414439
<group id="page_speed_optimization" translate="label" type="text" sortOrder="65" showInDefault="1" showInWebsite="1" showInStore="1">
415440
<label>Page Speed Optimization</label>

etc/config.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@
7272
<tax_enabled>1</tax_enabled>
7373
<track_admin_orders>1</track_admin_orders>
7474
</purchase>
75+
<track_scroll>
76+
<enabled>0</enabled>
77+
<scroll_direction>vertical</scroll_direction>
78+
<scroll_units>percent</scroll_units>
79+
</track_scroll>
7580
</events>
7681
<page_speed_optimization>
7782
<enabled>0</enabled>

0 commit comments

Comments
 (0)