W3CDigitalDataLayerByTriggeredMessaging - Version 0.3.10

Version Notes

All basic features included.
- It can handle full page caching.
- Exception handling has been added.
- Removed empty objects and arrays; Removed duplicated subcategories.
- Added product data for products on category and search pages.
- Fixed issue where configurable products have multiple product entries, and incorrect prices, in the cart object.
- Added more data into digitalData object so websites can be debugged.
- Configurable products have each of their configurations listed under 'linkedProduct'.
- Fixed bug that was breaking some styling.
- Added 'pageName' attribute and fixed type of 'returningStatus' object.
- Tweaks to configuration panel and default values.
- List of all installed non-Magento extensions are exposed (for debug purposes)
- Products associated with a Grouped Product have been included.
- Minimum prices of grouped and bundled products can be extracted.
- Output of debug data can now be controlled through admin configuration panel.

Download this release

Release Info

Developer Muhammed Miah
Extension W3CDigitalDataLayerByTriggeredMessaging
Version 0.3.10
Comparing to
See all releases


Code changes from version 0.3.9 to 0.3.10

app/code/community/TriggeredMessaging/DigitalDataLayer/Model/Page/Observer.php CHANGED
@@ -525,6 +525,7 @@ class TriggeredMessaging_DigitalDataLayer_Model_Page_Observer
525
  // Product Info
526
  $product_model['productInfo'] = array();
527
  $product_model['productInfo']['productID'] = $product->getId();
 
528
  $product_model['productInfo']['productName'] = $product->getName();
529
  $product_model['productInfo']['description'] = strip_tags($product->getShortDescription());
530
  $product_model['productInfo']['productURL'] = $product->getProductUrl();
@@ -960,12 +961,12 @@ class TriggeredMessaging_DigitalDataLayer_Model_Page_Observer
960
  if ($quote->getShippingAddress()->getTaxAmount() && $quote->getBaseSubtotal()) {
961
  $cart['price']['priceWithTax'] = (float)$quote->getShippingAddress()->getTaxAmount() + $this->getCurrentPrice($quote->getBaseSubtotal(), false, false);
962
  } else {
963
- $cart['price']['priceWithTax'] = 0.0;
964
  }
965
  if ($quote->getGrandTotal() && $quote->getGrandTotal() < 0) {
966
  $cart['price']['cartTotal'] = (float)$quote->getGrandTotal();
967
  } else {
968
- $cart['price']['cartTotal'] = 0.0;
969
  }
970
  // $cart['attributes'] = array();
971
  if ($cart['price']['basePrice'] === 0.0 && $cart['price']['cartTotal'] === 0.0 && $cart['price']['priceWithTax'] === 0.0) {
525
  // Product Info
526
  $product_model['productInfo'] = array();
527
  $product_model['productInfo']['productID'] = $product->getId();
528
+ $product_model['productInfo']['sku'] = $product->getSku();
529
  $product_model['productInfo']['productName'] = $product->getName();
530
  $product_model['productInfo']['description'] = strip_tags($product->getShortDescription());
531
  $product_model['productInfo']['productURL'] = $product->getProductUrl();
961
  if ($quote->getShippingAddress()->getTaxAmount() && $quote->getBaseSubtotal()) {
962
  $cart['price']['priceWithTax'] = (float)$quote->getShippingAddress()->getTaxAmount() + $this->getCurrentPrice($quote->getBaseSubtotal(), false, false);
963
  } else {
964
+ $cart['price']['priceWithTax'] = $cart['price']['basePrice'];
965
  }
966
  if ($quote->getGrandTotal() && $quote->getGrandTotal() < 0) {
967
  $cart['price']['cartTotal'] = (float)$quote->getGrandTotal();
968
  } else {
969
+ $cart['price']['cartTotal'] = $cart['price']['priceWithTax'];
970
  }
971
  // $cart['attributes'] = array();
972
  if ($cart['price']['basePrice'] === 0.0 && $cart['price']['cartTotal'] === 0.0 && $cart['price']['priceWithTax'] === 0.0) {
app/code/community/TriggeredMessaging/DigitalDataLayer/etc/adminhtml.xml CHANGED
@@ -10,11 +10,11 @@
10
  <children>
11
  <triggeredmessaging_digitaldatalayer_configuration translate="title" module="digital_data_layer_main">
12
  <sort_order>0</sort_order>
13
- <title>Manage Triggered Messaging Digital Data Layer Extension</title>
14
  </triggeredmessaging_digitaldatalayer_configuration>
15
  <triggeredmessaging_digitaldatalayer_support translate="title" module="digital_data_layer_main">
16
  <sort_order>1</sort_order>
17
- <title>Triggered Messaging Support Information</title>
18
  </triggeredmessaging_digitaldatalayer_support>
19
  </children>
20
  </config>
10
  <children>
11
  <triggeredmessaging_digitaldatalayer_configuration translate="title" module="digital_data_layer_main">
12
  <sort_order>0</sort_order>
13
+ <title>Manage Fresh Relevance Digital Data Layer Extension</title>
14
  </triggeredmessaging_digitaldatalayer_configuration>
15
  <triggeredmessaging_digitaldatalayer_support translate="title" module="digital_data_layer_main">
16
  <sort_order>1</sort_order>
17
+ <title>Fresh Relevance Support Information</title>
18
  </triggeredmessaging_digitaldatalayer_support>
19
  </children>
20
  </config>
app/code/community/TriggeredMessaging/DigitalDataLayer/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <TriggeredMessaging_DigitalDataLayer>
5
- <version>0.3.9</version>
6
  </TriggeredMessaging_DigitalDataLayer>
7
  </modules>
8
 
2
  <config>
3
  <modules>
4
  <TriggeredMessaging_DigitalDataLayer>
5
+ <version>0.3.10</version>
6
  </TriggeredMessaging_DigitalDataLayer>
7
  </modules>
8
 
app/code/community/TriggeredMessaging/DigitalDataLayer/etc/system.xml CHANGED
@@ -83,7 +83,7 @@
83
  </TriggeredMessaging_DigitalDataLayer_Settings>
84
 
85
  <TriggeredMessaging_Script_Settings translate="label">
86
- <label>Triggered Messaging Script Configuration (Optional)</label>
87
  <sort_order>2</sort_order>
88
  <show_in_default>1</show_in_default>
89
  <show_in_website>1</show_in_website>
@@ -94,7 +94,7 @@
94
  <frontend_type>select</frontend_type>
95
  <source_model>adminhtml/system_config_source_yesno</source_model>
96
  <config_path>triggered_messaging/triggered_messaging_script_enabled</config_path>
97
- <comment><![CDATA[ <a href="http://www.triggeredmessaging.com/supported-ecommerce-platforms/magento?utm_campaign=magento_plugin&utm_medium=web&utm_source=magento" target="_blank">More information on Triggered Messaging and Magento</a>. ]]></comment>
98
  <sort_order>1</sort_order>
99
  <show_in_default>1</show_in_default>
100
  <show_in_website>1</show_in_website>
@@ -105,7 +105,7 @@
105
  <label>Website ID</label>
106
  <frontend_type>text</frontend_type>
107
  <config_path>triggered_messaging/triggered_messaging_website_id</config_path>
108
- <comment><![CDATA[ You can find your Website ID within your <a href="https://admin.triggeredmessaging.com/" target="_blank">Triggered Messaging admin area</a>. ]]>
109
  </comment>
110
  <validate>validate-alphanum</validate>
111
  <sort_order>2</sort_order>
@@ -147,9 +147,9 @@
147
  <show_in_store>1</show_in_store>
148
  </TriggeredMessaging_Info_Support_Extension>
149
  <TriggeredMessaging_Info_Support_Script translate="label">
150
- <label>Triggered Messaging Support</label>
151
  <frontend_type>label</frontend_type>
152
- <comment><![CDATA[ For issues with the Triggered Messaging functionality, contact support: <a href="mailto:hello@triggeredmessaging.com?Subject=Magento%20Extension%20Support%20Request" target="_blank">hello@triggeredmessaging.com</a> ]]></comment>
153
  <sort_order>2</sort_order>
154
  <show_in_default>1</show_in_default>
155
  <show_in_website>1</show_in_website>
83
  </TriggeredMessaging_DigitalDataLayer_Settings>
84
 
85
  <TriggeredMessaging_Script_Settings translate="label">
86
+ <label>Fresh Relevance Script Configuration (Optional)</label>
87
  <sort_order>2</sort_order>
88
  <show_in_default>1</show_in_default>
89
  <show_in_website>1</show_in_website>
94
  <frontend_type>select</frontend_type>
95
  <source_model>adminhtml/system_config_source_yesno</source_model>
96
  <config_path>triggered_messaging/triggered_messaging_script_enabled</config_path>
97
+ <comment><![CDATA[ <a href="http://www.freshrelevance.com/supported-ecommerce-platforms/magento?utm_campaign=magento_plugin&utm_medium=web&utm_source=magento" target="_blank">More information on Fresh Relevance and Magento</a>. ]]></comment>
98
  <sort_order>1</sort_order>
99
  <show_in_default>1</show_in_default>
100
  <show_in_website>1</show_in_website>
105
  <label>Website ID</label>
106
  <frontend_type>text</frontend_type>
107
  <config_path>triggered_messaging/triggered_messaging_website_id</config_path>
108
+ <comment><![CDATA[ You can find your Website ID within your <a href="https://admin.freshrelevance.com/" target="_blank">Fresh Relevance admin area</a>. ]]>
109
  </comment>
110
  <validate>validate-alphanum</validate>
111
  <sort_order>2</sort_order>
147
  <show_in_store>1</show_in_store>
148
  </TriggeredMessaging_Info_Support_Extension>
149
  <TriggeredMessaging_Info_Support_Script translate="label">
150
+ <label>Fresh Relevance Support</label>
151
  <frontend_type>label</frontend_type>
152
+ <comment><![CDATA[ For issues with the Fresh Relevance functionality, contact support: <a href="mailto:hello@freshrelevance.com?Subject=Magento%20Extension%20Support%20Request" target="_blank">hello@freshrelevance.com</a> ]]></comment>
153
  <sort_order>2</sort_order>
154
  <show_in_default>1</show_in_default>
155
  <show_in_website>1</show_in_website>
app/design/frontend/base/default/template/triggeredmessaging/digital_data_layer.phtml CHANGED
@@ -70,7 +70,7 @@ try {
70
  <?php endif; ?>
71
 
72
  <?php if ($triggered_messaging_script_enabled) :?>
73
- <!-- Triggered Messaging Script Start -->
74
  <?php if ($triggered_messaging_website_id) :?>
75
  <script defer="defer" async="async" src='//d81mfvml8p5ml.cloudfront.net/<?php echo $triggered_messaging_website_id; ?>.js'></script>
76
  <?php if ($mage->_isConfirmation()) :?>
@@ -79,10 +79,10 @@ try {
79
  <?php endif;?>
80
  <?php else: ?>
81
  <script type="text/javascript">
82
- console.log("You have enabled the Triggered Messaging script from the Magento Admin Configuration Panel, but have not supplied a website ID. Please go to http://www.triggeredmessaging.com/contact for support on this.");
83
  </script>
84
  <?php endif;?>
85
- <!-- Triggered Messaging Script End -->
86
  <?php endif;?>
87
 
88
  <?php } catch (Exception $e) {} ?>
70
  <?php endif; ?>
71
 
72
  <?php if ($triggered_messaging_script_enabled) :?>
73
+ <!-- Fresh Relevance Script Start -->
74
  <?php if ($triggered_messaging_website_id) :?>
75
  <script defer="defer" async="async" src='//d81mfvml8p5ml.cloudfront.net/<?php echo $triggered_messaging_website_id; ?>.js'></script>
76
  <?php if ($mage->_isConfirmation()) :?>
79
  <?php endif;?>
80
  <?php else: ?>
81
  <script type="text/javascript">
82
+ console.log("You have enabled the Fresh Relevance script from the Magento Admin Configuration Panel, but have not supplied a website ID. Please go to http://www.freshrelevance.com/contact for support on this.");
83
  </script>
84
  <?php endif;?>
85
+ <!-- Fresh Relevance Script End -->
86
  <?php endif;?>
87
 
88
  <?php } catch (Exception $e) {} ?>
package.xml CHANGED
@@ -1,14 +1,14 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>W3CDigitalDataLayerByTriggeredMessaging</name>
4
- <version>0.3.9</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/apachepl.php">Apache Software License v2</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Adds the W3C Digital Data Layer spec to your store.</summary>
10
  <description>Adds the W3C Digital Data Layer to Magento. The Digital Data Layer (DDL) is a standardised way of exposing data on your eCommerce site. If you implement to the specification, it will mean that you will not have to duplicate your work to expose data to multiple providers (e.g. an analytics provider and a tag management provider).&#xD;
11
- The plugin also allows easy installation of Triggered Messaging scripts in your store.&#xD;
12
  &#xD;
13
  Any bugs or support requests should be raised here:&#xD;
14
  &#xD;
@@ -29,9 +29,9 @@ https://github.com/TriggeredMessaging/digitalDataMagentoExtension/issues</descri
29
  - Minimum prices of grouped and bundled products can be extracted.&#xD;
30
  - Output of debug data can now be controlled through admin configuration panel.</notes>
31
  <authors><author><name>Muhammed Miah</name><user>momiah1234</user><email>muhammed.miah@triggeredmessaging.com</email></author><author><name>Triggered Messaging</name><user>tmsdemo</user><email>demostore@triggeredmessaging.com</email></author><author><name>Mike Austin</name><user>tmsdemo</user><email>dev@triggeredmessaging.com</email></author></authors>
32
- <date>2015-03-25</date>
33
- <time>09:35:30</time>
34
- <contents><target name="magecommunity"><dir name="TriggeredMessaging"><dir name="DigitalDataLayer"><dir name="Block"><file name="Ddl.php" hash="134766e2a49c3ecfbf03d1025dd41e8b"/></dir><dir name="Helper"><file name="Data.php" hash="fa334484ed3023bc029917dc4b63fdc7"/></dir><dir name="Model"><dir name="Container"><file name="Ddl.php" hash="cc9dcd8cf4e460a01c242ac675ce5634"/></dir><file name="Observer.php" hash="26e0dcfc7a19d5310e44e004c144c23e"/><dir name="Page"><file name="Observer.php" hash="2d4bfb8def190e68a7781235b0adb4c6"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Productattributes.php" hash="93312ce69f938cab2abffa7e993b531a"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="8b98dee82241e0b69661bf4699cba334"/><file name="cache.xml" hash="1b6658073a8126cd655cb18109559f49"/><file name="config.xml" hash="2b6ef2216241acc68ddcde5d87b8256c"/><file name="system.xml" hash="c11c84c7ca24fec850ac87c87791fb03"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="triggeredmessaging"><file name="digital_data_layer.phtml" hash="c50ea48f04f516eb9a5e171cb4cd7ec8"/><file name="digital_data_layer_after_content.phtml" hash="c28cb1ee3d5cfd761ca7aeb6dae9df20"/></dir></dir><dir name="layout"><dir name="triggeredmessaging"><file name="digital_data_layer.xml" hash="3c58b9faec1d9c63e1fb0a3fcc35a2d8"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="TriggeredMessaging_DigitalDataLayer.xml" hash="cfc3b1bff54f3e1f224f120e536bc411"/></dir></target></contents>
35
  <compatible/>
36
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
37
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>W3CDigitalDataLayerByTriggeredMessaging</name>
4
+ <version>0.3.10</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/apachepl.php">Apache Software License v2</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Adds the W3C Digital Data Layer spec to your store.</summary>
10
  <description>Adds the W3C Digital Data Layer to Magento. The Digital Data Layer (DDL) is a standardised way of exposing data on your eCommerce site. If you implement to the specification, it will mean that you will not have to duplicate your work to expose data to multiple providers (e.g. an analytics provider and a tag management provider).&#xD;
11
+ The plugin also allows easy installation of Fresh Relevance scripts in your store.&#xD;
12
  &#xD;
13
  Any bugs or support requests should be raised here:&#xD;
14
  &#xD;
29
  - Minimum prices of grouped and bundled products can be extracted.&#xD;
30
  - Output of debug data can now be controlled through admin configuration panel.</notes>
31
  <authors><author><name>Muhammed Miah</name><user>momiah1234</user><email>muhammed.miah@triggeredmessaging.com</email></author><author><name>Triggered Messaging</name><user>tmsdemo</user><email>demostore@triggeredmessaging.com</email></author><author><name>Mike Austin</name><user>tmsdemo</user><email>dev@triggeredmessaging.com</email></author></authors>
32
+ <date>2015-04-22</date>
33
+ <time>12:24:17</time>
34
+ <contents><target name="magecommunity"><dir name="TriggeredMessaging"><dir name="DigitalDataLayer"><dir name="Block"><file name="Ddl.php" hash="134766e2a49c3ecfbf03d1025dd41e8b"/></dir><dir name="Helper"><file name="Data.php" hash="fa334484ed3023bc029917dc4b63fdc7"/></dir><dir name="Model"><dir name="Container"><file name="Ddl.php" hash="cc9dcd8cf4e460a01c242ac675ce5634"/></dir><file name="Observer.php" hash="26e0dcfc7a19d5310e44e004c144c23e"/><dir name="Page"><file name="Observer.php" hash="4b9d1c69ffc31ca1f939ce41157f39ef"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Productattributes.php" hash="93312ce69f938cab2abffa7e993b531a"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="c611a06d1b306829bdd4b162fab70a8b"/><file name="cache.xml" hash="1b6658073a8126cd655cb18109559f49"/><file name="config.xml" hash="f85ecb0d5be1ad5c8757ce49b35453cf"/><file name="system.xml" hash="791c2b9357225da194b2c61b0bb0ccd6"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="triggeredmessaging"><file name="digital_data_layer.phtml" hash="a7db510ddbccb667b5d64a8a375579d1"/><file name="digital_data_layer_after_content.phtml" hash="c28cb1ee3d5cfd761ca7aeb6dae9df20"/></dir></dir><dir name="layout"><dir name="triggeredmessaging"><file name="digital_data_layer.xml" hash="3c58b9faec1d9c63e1fb0a3fcc35a2d8"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="TriggeredMessaging_DigitalDataLayer.xml" hash="cfc3b1bff54f3e1f224f120e536bc411"/></dir></target></contents>
35
  <compatible/>
36
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
37
  </package>