Skip to content

Commit 07648d0

Browse files
Update: allow to set a custom data layer variable name
1 parent 1c96481 commit 07648d0

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<script>
22
window.dataLayer = window.dataLayer || [];
3-
window.dataLayer.push({'conversionsApiEventId': '{{ Esign\ConversionsApi\Facades\ConversionsApi::getEventId() }}'});
3+
window.dataLayer.push({'{{ $dataLayerVariableName ?? 'conversionsApiEventId' }}': '{{ Esign\ConversionsApi\Facades\ConversionsApi::getEventId() }}'});
44
</script>

src/ConversionsApiServiceProvider.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ public function register()
2525

2626
protected function registerBladeDirectives(): void
2727
{
28-
Blade::directive('conversionsApiDataLayer', function () {
29-
return "<?php echo view('conversions-api::data-layer'); ?>";
28+
Blade::directive('conversionsApiDataLayer', function (?string $dataLayerVariableName = null) {
29+
return "<?php echo view('conversions-api::data-layer', ['dataLayerVariableName' => {$dataLayerVariableName}]); ?>";
3030
});
3131
Blade::directive('conversionsApiFacebookPixelScript', function () {
3232
return "<?php echo view('conversions-api::facebook-pixel-script'); ?>";

tests/ConversionsApiViewTest.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,24 @@ public function it_can_render_the_data_layer_view()
2626
);
2727
}
2828

29+
/** @test */
30+
public function it_can_contain_a_default_data_layer_variable_name()
31+
{
32+
$this->assertStringContainsString(
33+
'conversionsApiEventId',
34+
view('conversions-api::data-layer')->render()
35+
);
36+
}
37+
38+
/** @test */
39+
public function it_can_use_a_custom_data_layer_variable_name()
40+
{
41+
$this->assertStringContainsString(
42+
'customDataLayerVariableName',
43+
view('conversions-api::data-layer', ['dataLayerVariableName' => 'customDataLayerVariableName'])->render()
44+
);
45+
}
46+
2947
/** @test */
3048
public function it_can_render_the_facebook_pixel_script_view()
3149
{
@@ -50,4 +68,13 @@ public function it_can_render_the_facebook_pixel_script_directive()
5068
Blade::compileString('@conversionsApiFacebookPixelScript'),
5169
);
5270
}
71+
72+
/** @test */
73+
public function it_can_render_the_data_layer_directive()
74+
{
75+
$this->assertStringContainsString(
76+
"<?php echo view('conversions-api::data-layer', ['dataLayerVariableName' => 'customDataLayerVariableName']); ?>",
77+
Blade::compileString("@conversionsApiDataLayer('customDataLayerVariableName')"),
78+
);
79+
}
5380
}

0 commit comments

Comments
 (0)