Version Notes
Soap Roi Tracker
Download this release
Release Info
Developer | Soap Media |
Extension | SOAP_ShoppingAnalytics |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/local/SOAP/ShoppingAnalytics/Block/Hint.php +20 -0
- app/code/local/SOAP/ShoppingAnalytics/Block/Sa.php +164 -0
- app/code/local/SOAP/ShoppingAnalytics/Helper/Data.php +44 -0
- app/code/local/SOAP/ShoppingAnalytics/Model/Observer.php +47 -0
- app/code/local/SOAP/ShoppingAnalytics/etc/adminhtml.xml +39 -0
- app/code/local/SOAP/ShoppingAnalytics/etc/config.xml +97 -0
- app/code/local/SOAP/ShoppingAnalytics/etc/system.xml +133 -0
- app/design/adminhtml/default/default/template/shoppinganalytics/system/config/fieldset/hint.phtml +13 -0
- app/design/frontend/base/default/layout/shoppinganalytics.xml +27 -0
- app/design/frontend/base/default/template/shoppinganalytics/sa.phtml +33 -0
- app/etc/modules/SOAP_ShoppingAnalyics.xml +12 -0
- package.xml +23 -0
app/code/local/SOAP/ShoppingAnalytics/Block/Hint.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @author SOAP Media
|
4 |
+
*/
|
5 |
+
class SOAP_ShoppingAnalytics_Block_Hint
|
6 |
+
extends Mage_Adminhtml_Block_Abstract
|
7 |
+
implements Varien_Data_Form_Element_Renderer_Interface
|
8 |
+
{
|
9 |
+
protected $_template = 'shoppinganalytics/system/config/fieldset/hint.phtml';
|
10 |
+
|
11 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
12 |
+
{
|
13 |
+
return $this->toHtml();
|
14 |
+
}
|
15 |
+
|
16 |
+
public function getShoppingAnalyticsVersion()
|
17 |
+
{
|
18 |
+
return (string) Mage::getConfig()->getNode('modules/SOAP_ShoppingAnalytics/version');
|
19 |
+
}
|
20 |
+
}
|
app/code/local/SOAP/ShoppingAnalytics/Block/Sa.php
ADDED
@@ -0,0 +1,164 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
6 |
+
* that is bundled with this package in the file LICENSE.txt.
|
7 |
+
* It is also available through the world-wide-web at this URL:
|
8 |
+
* http://opensource.org/licenses/osl-3.0.php
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @category Mage
|
14 |
+
* @package SOAP_ShoppingAnalytics
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
/**
|
20 |
+
* ShoppingAnalytics Page Block
|
21 |
+
*
|
22 |
+
* @category Mage
|
23 |
+
* @package SOAP_ShoppingAnalytics
|
24 |
+
* @author SOAP Media
|
25 |
+
*/
|
26 |
+
class SOAP_ShoppingAnalytics_Block_Sa extends Mage_Core_Block_Template
|
27 |
+
{
|
28 |
+
public function getPageName()
|
29 |
+
{
|
30 |
+
return $this->_getData('page_name');
|
31 |
+
}
|
32 |
+
|
33 |
+
protected function _getPageTrackingCode($accountId)
|
34 |
+
{
|
35 |
+
return "
|
36 |
+
_roi.push(['_setMerchantId', '{$this->jsQuoteEscape($accountId)}']);
|
37 |
+
";
|
38 |
+
}
|
39 |
+
|
40 |
+
protected function _getOrdersTrackingCode($accountId = 0)
|
41 |
+
{
|
42 |
+
$categoryModel = Mage::getModel('catalog/category');
|
43 |
+
|
44 |
+
$orderIds = $this->getOrderIds();
|
45 |
+
if (empty($orderIds) || !is_array($orderIds)) {
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
$collection = Mage::getResourceModel('sales/order_collection')
|
49 |
+
->addFieldToFilter('entity_id', array('in' => $orderIds))
|
50 |
+
;
|
51 |
+
$result = array();
|
52 |
+
foreach ($collection as $order) {
|
53 |
+
if ($order->getIsVirtual()) {
|
54 |
+
$address = $order->getBillingAddress();
|
55 |
+
} else {
|
56 |
+
$address = $order->getShippingAddress();
|
57 |
+
}
|
58 |
+
$result[] = sprintf("_roi.push(['_setMerchantId', '%s']);",
|
59 |
+
$this->jsQuoteEscape($accountId)
|
60 |
+
);
|
61 |
+
$result[] = sprintf("_roi.push(['_setOrderId', '%s']);",
|
62 |
+
$order->getIncrementId()
|
63 |
+
);
|
64 |
+
$result[] = sprintf("_roi.push(['_setOrderAmount', '%s']);",
|
65 |
+
$order->getBaseGrandTotal()
|
66 |
+
);
|
67 |
+
$result[] = sprintf("_roi.push(['_setOrderNotes', '%s']);",
|
68 |
+
'Notes'
|
69 |
+
);
|
70 |
+
|
71 |
+
foreach ($order->getAllVisibleItems() as $item) {
|
72 |
+
//Cat IDs
|
73 |
+
$catIDs = $item->getProduct()->getCategoryIds();
|
74 |
+
$category = $categoryModel->load($catIDs[0]);
|
75 |
+
$catName = $category->getName();
|
76 |
+
|
77 |
+
$result[] = sprintf("_roi.push(['_addItem', '%s', '%s', '%s', '%s', '%s', '%s']);",
|
78 |
+
$this->jsQuoteEscape($item->getSku()),
|
79 |
+
$this->jsQuoteEscape($item->getName()),
|
80 |
+
$catIDs[0] ? $catIDs[0] : '',
|
81 |
+
$catName ? $catName : '',
|
82 |
+
$item->getBasePrice(),
|
83 |
+
$item->getQtyOrdered()
|
84 |
+
);
|
85 |
+
}
|
86 |
+
$result[] = "_roi.push(['_trackTrans']);";
|
87 |
+
}
|
88 |
+
return implode("\n", $result);
|
89 |
+
}
|
90 |
+
|
91 |
+
protected function _addGoogleTrackingCode()
|
92 |
+
{
|
93 |
+
$orderIds = $this->getOrderIds();
|
94 |
+
if (empty($orderIds) || !is_array($orderIds)) {
|
95 |
+
return;
|
96 |
+
}
|
97 |
+
$collection = Mage::getResourceModel('sales/order_collection')
|
98 |
+
->addFieldToFilter('entity_id', array('in' => $orderIds))
|
99 |
+
;
|
100 |
+
|
101 |
+
foreach ($collection as $order)
|
102 |
+
{
|
103 |
+
$value = $order->getBaseGrandTotal();
|
104 |
+
if (!Mage::helper('shoppinganalytics')->isGoogleTrackingAvailable())
|
105 |
+
{
|
106 |
+
return '';
|
107 |
+
}
|
108 |
+
else {
|
109 |
+
$id = Mage::getStoreConfig('shopping/tracking/account');
|
110 |
+
$format = Mage::getStoreConfig('shopping/tracking/format');
|
111 |
+
$language = Mage::getStoreConfig('shopping/tracking/language');
|
112 |
+
$colour = Mage::getStoreConfig('shopping/tracking/colour');
|
113 |
+
$label = Mage::getStoreConfig('shopping/tracking/label');
|
114 |
+
|
115 |
+
if ($value > 0)
|
116 |
+
{
|
117 |
+
$totalValue = 'var google_conversion_value = "'.$value.'"';
|
118 |
+
}
|
119 |
+
else {
|
120 |
+
$totalValue = '';
|
121 |
+
}
|
122 |
+
|
123 |
+
return '<!-- Google Tracking Code -->
|
124 |
+
<script type="text/javascript">
|
125 |
+
/* <![CDATA[ */
|
126 |
+
var google_conversion_id = '.$id.';
|
127 |
+
var google_conversion_language = "'.$language.'";
|
128 |
+
var google_conversion_format = "'.$format.'";
|
129 |
+
var google_conversion_color = "'.$colour.'";
|
130 |
+
var google_conversion_label = "'.$label.'";
|
131 |
+
'.$totalValue.'
|
132 |
+
|
133 |
+
/* ]]> */
|
134 |
+
</script>
|
135 |
+
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script>
|
136 |
+
|
137 |
+
<noscript>
|
138 |
+
<img height=1 width=1 border=0
|
139 |
+
src="http://www.googleadservices.com/pagead/
|
140 |
+
conversion/'.$id.'/?value='.$value.'
|
141 |
+
&label='.$label.'&script=0">
|
142 |
+
</noscript>
|
143 |
+
<!-- END Google Tracking Code -->';
|
144 |
+
}
|
145 |
+
}
|
146 |
+
}
|
147 |
+
|
148 |
+
protected function _toHtml()
|
149 |
+
{
|
150 |
+
if (!Mage::helper('shoppinganalytics')->isShoppingAnalyticsAvailable() && !Mage::helper('shoppinganalytics')->isGoogleTrackingAvailable()) {
|
151 |
+
return '';
|
152 |
+
}
|
153 |
+
elseif (Mage::helper('shoppinganalytics')->isShoppingAnalyticsAvailable())
|
154 |
+
{
|
155 |
+
return parent::_toHtml();
|
156 |
+
}
|
157 |
+
elseif (Mage::helper('shoppinganalytics')->isGoogleTrackingAvailable()) {
|
158 |
+
return $this->_addGoogleTrackingCode();
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
|
164 |
+
|
app/code/local/SOAP/ShoppingAnalytics/Helper/Data.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
6 |
+
* that is bundled with this package in the file LICENSE.txt.
|
7 |
+
* It is also available through the world-wide-web at this URL:
|
8 |
+
* http://opensource.org/licenses/osl-3.0.php
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @category Mage
|
14 |
+
* @package Mage_ShoppingAnalytics
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
/**
|
20 |
+
* ShoppingAnalytics data helper
|
21 |
+
*
|
22 |
+
* @category SOAP
|
23 |
+
* @package SOAP_ShoppingAnalytics
|
24 |
+
*/
|
25 |
+
class SOAP_ShoppingAnalytics_Helper_Data extends Mage_Core_Helper_Abstract
|
26 |
+
{
|
27 |
+
const XML_PATH_SHOPPING_ACTIVE = 'shopping/analytics/active';
|
28 |
+
const XML_PATH_SHOPPING_ACCOUNT = 'shopping/analytics/account';
|
29 |
+
|
30 |
+
const XML_PATH_TRACKING_ACTIVE = 'shopping/tracking/active';
|
31 |
+
const XML_PATH_TRACKING_ACCOUNT = 'shopping/tracking/account';
|
32 |
+
|
33 |
+
public function isShoppingAnalyticsAvailable($store = null)
|
34 |
+
{
|
35 |
+
$accountId = Mage::getStoreConfig(self::XML_PATH_SHOPPING_ACCOUNT, $store);
|
36 |
+
return $accountId && Mage::getStoreConfigFlag(self::XML_PATH_SHOPPING_ACTIVE, $store);
|
37 |
+
}
|
38 |
+
|
39 |
+
public function isGoogleTrackingAvailable($store = null)
|
40 |
+
{
|
41 |
+
$accountId = Mage::getStoreConfig(self::XML_PATH_TRACKING_ACCOUNT, $store);
|
42 |
+
return $accountId && Mage::getStoreConfigFlag(self::XML_PATH_TRACKING_ACTIVE, $store);
|
43 |
+
}
|
44 |
+
}
|
app/code/local/SOAP/ShoppingAnalytics/Model/Observer.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
6 |
+
* that is bundled with this package in the file LICENSE.txt.
|
7 |
+
* It is also available through the world-wide-web at this URL:
|
8 |
+
* http://opensource.org/licenses/osl-3.0.php
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @category Mage
|
14 |
+
* @package Mage_ShoppingAnalytics
|
15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Shopping Analytics module observer
|
21 |
+
*
|
22 |
+
* @category Mage
|
23 |
+
* @package Mage_ShoppingAnalytics
|
24 |
+
*/
|
25 |
+
class SOAP_ShoppingAnalytics_Model_Observer
|
26 |
+
{
|
27 |
+
protected $_isShoppingCheckoutLinkAdded = false;
|
28 |
+
|
29 |
+
public function order_success_page_view($observer)
|
30 |
+
{
|
31 |
+
$this->setShoppingAnalyticsOnOrderSuccessPageView($observer);
|
32 |
+
}
|
33 |
+
|
34 |
+
public function setShoppingAnalyticsOnOrderSuccessPageView(Varien_Event_Observer $observer)
|
35 |
+
{
|
36 |
+
$orderIds = $observer->getEvent()->getOrderIds();
|
37 |
+
if (empty($orderIds) || !is_array($orderIds)) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
$block = Mage::app()->getFrontController()->getAction()->getLayout()->getBlock('shopping_analytics');
|
41 |
+
if ($block) {
|
42 |
+
$block->setOrderIds($orderIds);
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
|
47 |
+
}
|
app/code/local/SOAP/ShoppingAnalytics/etc/adminhtml.xml
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @category Mage
|
15 |
+
* @package SOAP_ShoppingAnalytics
|
16 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<acl>
|
21 |
+
<resources>
|
22 |
+
<admin>
|
23 |
+
<children>
|
24 |
+
<system>
|
25 |
+
<children>
|
26 |
+
<config>
|
27 |
+
<children>
|
28 |
+
<shopping translate="title" module="shoppinganalytics">
|
29 |
+
<title>ROI Tracker</title>
|
30 |
+
</shopping>
|
31 |
+
</children>
|
32 |
+
</config>
|
33 |
+
</children>
|
34 |
+
</system>
|
35 |
+
</children>
|
36 |
+
</admin>
|
37 |
+
</resources>
|
38 |
+
</acl>
|
39 |
+
</config>
|
app/code/local/SOAP/ShoppingAnalytics/etc/config.xml
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @category Mage
|
15 |
+
* @package SOAP_ShoppingAnalytics
|
16 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<SOAP_ShoppingAnalytics>
|
22 |
+
<version>1.0</version>
|
23 |
+
</SOAP_ShoppingAnalytics>
|
24 |
+
</modules>
|
25 |
+
<global>
|
26 |
+
<models>
|
27 |
+
<shoppinganalytics>
|
28 |
+
<class>SOAP_ShoppingAnalytics_Model</class>
|
29 |
+
</shoppinganalytics>
|
30 |
+
</models>
|
31 |
+
<blocks>
|
32 |
+
<shoppinganalytics>
|
33 |
+
<class>SOAP_ShoppingAnalytics_Block</class>
|
34 |
+
</shoppinganalytics>
|
35 |
+
</blocks>
|
36 |
+
<helpers>
|
37 |
+
<shoppinganalytics>
|
38 |
+
<class>SOAP_ShoppingAnalytics_Helper</class>
|
39 |
+
</shoppinganalytics>
|
40 |
+
</helpers>
|
41 |
+
</global>
|
42 |
+
<frontend>
|
43 |
+
<translate>
|
44 |
+
<modules>
|
45 |
+
<SOAP_ShoppingAnalytics>
|
46 |
+
<files>
|
47 |
+
<default>SOAP_ShoppingAnalytics.csv</default>
|
48 |
+
</files>
|
49 |
+
</SOAP_ShoppingAnalytics>
|
50 |
+
</modules>
|
51 |
+
</translate>
|
52 |
+
<events>
|
53 |
+
<checkout_onepage_controller_success_action>
|
54 |
+
<observers>
|
55 |
+
<shoppinganalytics_order_success>
|
56 |
+
<class>shoppinganalytics/observer</class>
|
57 |
+
<method>setShoppingAnalyticsOnOrderSuccessPageView</method>
|
58 |
+
</shoppinganalytics_order_success>
|
59 |
+
</observers>
|
60 |
+
</checkout_onepage_controller_success_action>
|
61 |
+
<checkout_multishipping_controller_success_action>
|
62 |
+
<observers>
|
63 |
+
<shoppinganalytics_order_success>
|
64 |
+
<class>shoppinganalytics/observer</class>
|
65 |
+
<method>setShoppingAnalyticsOnOrderSuccessPageView</method>
|
66 |
+
</shoppinganalytics_order_success>
|
67 |
+
</observers>
|
68 |
+
</checkout_multishipping_controller_success_action>
|
69 |
+
<shoppingcheckout_block_link_html_before>
|
70 |
+
<observers>
|
71 |
+
<shoppinganalytics_shoppingcheckout_integration>
|
72 |
+
<class>shoppinganalytics/observer</class>
|
73 |
+
<method>injectAnalyticsInShoppingCheckoutLink</method>
|
74 |
+
</shoppinganalytics_shoppingcheckout_integration>
|
75 |
+
</observers>
|
76 |
+
</shoppingcheckout_block_link_html_before>
|
77 |
+
</events>
|
78 |
+
<layout>
|
79 |
+
<updates>
|
80 |
+
<shoppinganalytics>
|
81 |
+
<file>shoppinganalytics.xml</file>
|
82 |
+
</shoppinganalytics>
|
83 |
+
</updates>
|
84 |
+
</layout>
|
85 |
+
</frontend>
|
86 |
+
<adminhtml>
|
87 |
+
<translate>
|
88 |
+
<modules>
|
89 |
+
<SOAP_ShoppingAnalytics>
|
90 |
+
<files>
|
91 |
+
<default>SOAP_ShoppingAnalytics.csv</default>
|
92 |
+
</files>
|
93 |
+
</SOAP_ShoppingAnalytics>
|
94 |
+
</modules>
|
95 |
+
</translate>
|
96 |
+
</adminhtml>
|
97 |
+
</config>
|
app/code/local/SOAP/ShoppingAnalytics/etc/system.xml
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @category Mage
|
15 |
+
* @package SOAP_ShoppingAnalytics
|
16 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<tabs>
|
21 |
+
<shoppingroi translate="label">
|
22 |
+
<label>ROI Tracker</label>
|
23 |
+
<sort_order>1</sort_order>
|
24 |
+
</shoppingroi>
|
25 |
+
</tabs>
|
26 |
+
<sections>
|
27 |
+
<shopping translate="label" module="shoppinganalytics">
|
28 |
+
<label>ROI Tracker</label>
|
29 |
+
<tab>shoppingroi</tab>
|
30 |
+
<frontend_type>text</frontend_type>
|
31 |
+
<sort_order>340</sort_order>
|
32 |
+
<show_in_default>1</show_in_default>
|
33 |
+
<show_in_website>1</show_in_website>
|
34 |
+
<show_in_store>1</show_in_store>
|
35 |
+
<groups>
|
36 |
+
<hint>
|
37 |
+
<frontend_model>shoppinganalytics/hint</frontend_model>
|
38 |
+
<sort_order>0</sort_order>
|
39 |
+
<show_in_default>1</show_in_default>
|
40 |
+
<show_in_website>1</show_in_website>
|
41 |
+
<show_in_store>1</show_in_store>
|
42 |
+
</hint>
|
43 |
+
<analytics translate="label">
|
44 |
+
<label>Shopping.com ROI Tracker</label>
|
45 |
+
<frontend_type>text</frontend_type>
|
46 |
+
<sort_order>10</sort_order>
|
47 |
+
<show_in_default>1</show_in_default>
|
48 |
+
<show_in_website>1</show_in_website>
|
49 |
+
<show_in_store>1</show_in_store>
|
50 |
+
<fields>
|
51 |
+
<active translate="label">
|
52 |
+
<label>Enabled</label>
|
53 |
+
<frontend_type>select</frontend_type>
|
54 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
55 |
+
<sort_order>10</sort_order>
|
56 |
+
<show_in_default>1</show_in_default>
|
57 |
+
<show_in_website>1</show_in_website>
|
58 |
+
<show_in_store>1</show_in_store>
|
59 |
+
</active>
|
60 |
+
<account translate="label">
|
61 |
+
<label>Account Number</label>
|
62 |
+
<frontend_type>text</frontend_type>
|
63 |
+
<sort_order>20</sort_order>
|
64 |
+
<show_in_default>1</show_in_default>
|
65 |
+
<show_in_website>1</show_in_website>
|
66 |
+
<show_in_store>1</show_in_store>
|
67 |
+
</account>
|
68 |
+
</fields>
|
69 |
+
</analytics>
|
70 |
+
<tracking translate="label">
|
71 |
+
<label>Google AdWords Tracking Code</label>
|
72 |
+
<frontend_type>text</frontend_type>
|
73 |
+
<sort_order>15</sort_order>
|
74 |
+
<show_in_default>1</show_in_default>
|
75 |
+
<show_in_website>1</show_in_website>
|
76 |
+
<show_in_store>1</show_in_store>
|
77 |
+
<fields>
|
78 |
+
<active translate="label">
|
79 |
+
<label>Enabled</label>
|
80 |
+
<frontend_type>select</frontend_type>
|
81 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
82 |
+
<sort_order>10</sort_order>
|
83 |
+
<show_in_default>1</show_in_default>
|
84 |
+
<show_in_website>1</show_in_website>
|
85 |
+
<show_in_store>1</show_in_store>
|
86 |
+
</active>
|
87 |
+
<account translate="label">
|
88 |
+
<label>Conversion ID</label>
|
89 |
+
<frontend_type>text</frontend_type>
|
90 |
+
<sort_order>20</sort_order>
|
91 |
+
<show_in_default>1</show_in_default>
|
92 |
+
<show_in_website>1</show_in_website>
|
93 |
+
<show_in_store>1</show_in_store>
|
94 |
+
</account>
|
95 |
+
<format translate="label">
|
96 |
+
<label>Conversion Format</label>
|
97 |
+
<frontend_type>text</frontend_type>
|
98 |
+
<sort_order>25</sort_order>
|
99 |
+
<show_in_default>1</show_in_default>
|
100 |
+
<show_in_website>1</show_in_website>
|
101 |
+
<show_in_store>1</show_in_store>
|
102 |
+
</format>
|
103 |
+
<language translate="label">
|
104 |
+
<label>Language</label>
|
105 |
+
<frontend_type>select</frontend_type>
|
106 |
+
<source_model>adminhtml/system_config_source_locale</source_model>
|
107 |
+
<sort_order>30</sort_order>
|
108 |
+
<show_in_default>1</show_in_default>
|
109 |
+
<show_in_website>1</show_in_website>
|
110 |
+
<show_in_store>1</show_in_store>
|
111 |
+
</language>
|
112 |
+
<label translate="label">
|
113 |
+
<label>Label</label>
|
114 |
+
<frontend_type>text</frontend_type>
|
115 |
+
<sort_order>40</sort_order>
|
116 |
+
<show_in_default>1</show_in_default>
|
117 |
+
<show_in_website>1</show_in_website>
|
118 |
+
<show_in_store>1</show_in_store>
|
119 |
+
</label>
|
120 |
+
<colour translate="label">
|
121 |
+
<label>Colour</label>
|
122 |
+
<frontend_type>text</frontend_type>
|
123 |
+
<sort_order>50</sort_order>
|
124 |
+
<show_in_default>1</show_in_default>
|
125 |
+
<show_in_website>1</show_in_website>
|
126 |
+
<show_in_store>1</show_in_store>
|
127 |
+
</colour>
|
128 |
+
</fields>
|
129 |
+
</tracking>
|
130 |
+
</groups>
|
131 |
+
</shopping>
|
132 |
+
</sections>
|
133 |
+
</config>
|
app/design/adminhtml/default/default/template/shoppinganalytics/system/config/fieldset/hint.phtml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<style>
|
2 |
+
.soap-notice{
|
3 |
+
background: none repeat scroll 0 0 #EAF0EE;
|
4 |
+
border: 1px solid #CCCCCC;
|
5 |
+
margin-bottom: 10px;
|
6 |
+
padding: 11px 0 0 10px;
|
7 |
+
}
|
8 |
+
</style>
|
9 |
+
|
10 |
+
<div class="soap-notice">
|
11 |
+
<h4><strong style="color:#EA7601;">ROI Tracker v<?php echo $this->getShoppingAnalyticsVersion(); ?> by <a href="http://www.soapmedia.co.uk/" target="_blank">Soap Media</a></strong></h4>
|
12 |
+
<p>To keep upto date on this and other modules follow us on <a href="http://twitter.com/soapmedia" target="_blank">twitter</a> or <a href="http://www.facebook.com/soapmedia" target="_blank">facebook</a></p>
|
13 |
+
</div>
|
app/design/frontend/base/default/layout/shoppinganalytics.xml
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @category design
|
15 |
+
* @package base_default
|
16 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
-->
|
20 |
+
<layout version="0.1.0">
|
21 |
+
<default>
|
22 |
+
<!-- SOAP_ShoppingAnalytics -->
|
23 |
+
<reference name="after_body_start">
|
24 |
+
<block type="shoppinganalytics/sa" name="shopping_analytics" as="shopping_analytics" template="shoppinganalytics/sa.phtml" />
|
25 |
+
</reference>
|
26 |
+
</default>
|
27 |
+
</layout>
|
app/design/frontend/base/default/template/shoppinganalytics/sa.phtml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
6 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
7 |
+
* It is also available through the world-wide-web at this URL:
|
8 |
+
* http://opensource.org/licenses/afl-3.0.php
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @category design
|
14 |
+
* @package base_default
|
15 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
<?php if (!Mage::helper('core/cookie')->isUserNotAllowSaveCookie()): ?>
|
19 |
+
<?php $accountId = Mage::getStoreConfig(SOAP_ShoppingAnalytics_Helper_Data::XML_PATH_SHOPPING_ACCOUNT) ?>
|
20 |
+
|
21 |
+
<!-- BEGIN SHOPPING ROI CODE -->
|
22 |
+
<script type="text/javascript">
|
23 |
+
//<![CDATA[
|
24 |
+
var _roi = _roi || [];
|
25 |
+
<?php echo $this->_getOrdersTrackingCode($accountId) ?>
|
26 |
+
//]]>
|
27 |
+
</script>
|
28 |
+
<script type="text/javascript" src="https://stat.dealtime.com/ROI/ROI2.js"></script>
|
29 |
+
<!-- END SHOPPING ROI CODE -->
|
30 |
+
|
31 |
+
<?php echo $this->_addGoogleTrackingCode() ?>
|
32 |
+
|
33 |
+
<?php endif; ?>
|
app/etc/modules/SOAP_ShoppingAnalyics.xml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" ?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<SOAP_ShoppingAnalytics>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>local</codePool>
|
7 |
+
<depends>
|
8 |
+
<Mage_Core/>
|
9 |
+
</depends>
|
10 |
+
</SOAP_ShoppingAnalytics>
|
11 |
+
</modules>
|
12 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>SOAP_ShoppingAnalytics</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://www.gnu.org/licenses/gpl.html">GNU General Public License</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>ROI Tracker - Tracks Conversion data to third party platforms</summary>
|
10 |
+
<description>Adds the option to enable third party ROI Tracking; Adwords conversion tracking code and Shopping.com ROI tracker code
|
11 |
+

|
12 |
+

|
13 |
+
The Magento ROI Tracker enables the option to easily manage Adwords conversion tracking code on the Magento thanks you / order completion page. It also has the option to enable the Shopping.com tracking code and in future we will look to add support for other third party ROI tracking tools.
|
14 |
+

|
15 |
+
To keep up to date follow the our <a href="http://www.soapmedia.co.uk/magento-roi-tracking-extension/">Mangeto ROI Tracking</a> post on our blog</description>
|
16 |
+
<notes>Soap Roi Tracker</notes>
|
17 |
+
<authors><author><name>Soap Media</name><user>toocanx</user><email>adam@soapmedia.co.uk</email></author></authors>
|
18 |
+
<date>2012-10-12</date>
|
19 |
+
<time>13:27:21</time>
|
20 |
+
<contents><target name="magelocal"><dir><dir name="SOAP"><dir><dir name="ShoppingAnalytics"><dir name="Block"><file name="Hint.php" hash="072d7b20b293ac5bc8352221c095820b"/><file name="Sa.php" hash="378ffaa629ad08c5887af7c3ecea807b"/></dir><dir name="Helper"><file name="Data.php" hash="7c5e58f47122354512bc2635d7ff0e0a"/></dir><dir name="Model"><file name="Observer.php" hash="bcb871edd134be8e1ed0a37cfbae96a9"/></dir><dir name="etc"><file name="adminhtml.xml" hash="da2d3619541c4df47c925d3921a62847"/><file name="config.xml" hash="8fee8cbb9ba10dc4bf7278ca33ee12b6"/><file name="system.xml" hash="5d58de07e777de221458f8e2e371a9f8"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="shoppinganalytics"><dir name="system"><dir name="config"><dir name="fieldset"><file name="hint.phtml" hash="685eedf009fc1494fd266ca93a27923a"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shoppinganalytics.xml" hash="287589c95687eb245f78ab95b6492093"/></dir><dir name="template"><dir name="shoppinganalytics"><file name="sa.phtml" hash="f7a0624636886f313d5a90e1adaa2fd8"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="SOAP_ShoppingAnalyics.xml" hash="356026928a86b699d9a6ff759b43f617"/></dir></dir></target></contents>
|
21 |
+
<compatible/>
|
22 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
23 |
+
</package>
|