Version Notes
Captures correct images for grouped and configurable products.
Added lots more cool data for campaign segmenting.
Download this release
Release Info
| Developer | David Webber |
| Extension | recapture |
| Version | 1.0.5 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.4 to 1.0.5
app/code/local/Recapture/Connector/Model/Observer.php
CHANGED
|
@@ -25,7 +25,12 @@ class Recapture_Connector_Model_Observer {
|
|
| 25 |
|
| 26 |
Mage::register('recapture_has_posted', true);
|
| 27 |
|
|
|
|
|
|
|
|
|
|
| 28 |
$transportData = array(
|
|
|
|
|
|
|
| 29 |
'email' => $quote->getCustomerEmail(),
|
| 30 |
'external_id' => $quote->getId(),
|
| 31 |
'grand_total' => $quote->getGrandTotal(),
|
|
@@ -37,12 +42,58 @@ class Recapture_Connector_Model_Observer {
|
|
| 37 |
|
| 38 |
foreach ($cartItems as $item){
|
| 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
$product = array(
|
| 41 |
-
'name'
|
| 42 |
-
'sku'
|
| 43 |
-
'price'
|
| 44 |
-
'qty'
|
| 45 |
-
'image'
|
|
|
|
| 46 |
);
|
| 47 |
|
| 48 |
$transportData['products'][] = $product;
|
| 25 |
|
| 26 |
Mage::register('recapture_has_posted', true);
|
| 27 |
|
| 28 |
+
$mediaConfig = Mage::getModel('catalog/product_media_config');
|
| 29 |
+
$storeId = Mage::app()->getStore();
|
| 30 |
+
|
| 31 |
$transportData = array(
|
| 32 |
+
'first_name' => $quote->getCustomerFirstname(),
|
| 33 |
+
'last_name' => $quote->getCustomerLastname(),
|
| 34 |
'email' => $quote->getCustomerEmail(),
|
| 35 |
'external_id' => $quote->getId(),
|
| 36 |
'grand_total' => $quote->getGrandTotal(),
|
| 42 |
|
| 43 |
foreach ($cartItems as $item){
|
| 44 |
|
| 45 |
+
$productModel = $item->getProduct();
|
| 46 |
+
|
| 47 |
+
$productImage = (string)Mage::helper('catalog/image')->init($productModel, 'thumbnail');
|
| 48 |
+
|
| 49 |
+
//check configurable first
|
| 50 |
+
if ($item->getProductType() == 'configurable'){
|
| 51 |
+
|
| 52 |
+
if (Mage::getStoreConfig('checkout/cart/configurable_product_image') == 'itself'){
|
| 53 |
+
|
| 54 |
+
$child = $productModel->getIdBySku($item->getSku());
|
| 55 |
+
|
| 56 |
+
$image = Mage::getResourceModel('catalog/product')->getAttributeRawValue($child, 'thumbnail', $storeId);
|
| 57 |
+
|
| 58 |
+
if ($image) $productImage = $mediaConfig->getMediaUrl($image);
|
| 59 |
+
|
| 60 |
+
}
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
//then check grouped
|
| 64 |
+
if (Mage::getStoreConfig('checkout/cart/grouped_product_image') == 'parent'){
|
| 65 |
+
|
| 66 |
+
$options = $productModel->getTypeInstance(true)->getOrderOptions($productModel);
|
| 67 |
+
|
| 68 |
+
if (isset($options['super_product_config']) && $options['super_product_config']['product_type'] == 'grouped'){
|
| 69 |
+
|
| 70 |
+
$parent = $options['super_product_config']['product_id'];
|
| 71 |
+
$image = Mage::getResourceModel('catalog/product')->getAttributeRawValue($parent, 'thumbnail', $storeId);
|
| 72 |
+
|
| 73 |
+
$productImage = $mediaConfig->getMediaUrl($image);
|
| 74 |
+
|
| 75 |
+
}
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
$optionsHelper = Mage::helper('catalog/product_configuration');
|
| 79 |
+
|
| 80 |
+
if ($item->getProductType() == 'configurable'){
|
| 81 |
+
|
| 82 |
+
$visibleOptions = $optionsHelper->getConfigurableOptions($item);
|
| 83 |
+
|
| 84 |
+
} else {
|
| 85 |
+
|
| 86 |
+
$visibleOptions = $optionsHelper->getCustomOptions($item);
|
| 87 |
+
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
$product = array(
|
| 91 |
+
'name' => $item->getName(),
|
| 92 |
+
'sku' => $item->getSku(),
|
| 93 |
+
'price' => $item->getPrice(),
|
| 94 |
+
'qty' => $item->getQty(),
|
| 95 |
+
'image' => $productImage,
|
| 96 |
+
'options' => $visibleOptions
|
| 97 |
);
|
| 98 |
|
| 99 |
$transportData['products'][] = $product;
|
app/code/local/Recapture/Connector/controllers/CartController.php
CHANGED
|
@@ -12,6 +12,7 @@ class Recapture_Connector_CartController extends Mage_Core_Controller_Front_Acti
|
|
| 12 |
public function indexAction(){
|
| 13 |
|
| 14 |
$helper = Mage::helper('recapture');
|
|
|
|
| 15 |
|
| 16 |
$hash = $this->getRequest()->getParam('hash');
|
| 17 |
|
| 12 |
public function indexAction(){
|
| 13 |
|
| 14 |
$helper = Mage::helper('recapture');
|
| 15 |
+
if (!$helper->isEnabled() || !$helper->getApiKey()) return $this->_redirect('/');
|
| 16 |
|
| 17 |
$hash = $this->getRequest()->getParam('hash');
|
| 18 |
|
app/code/local/Recapture/Connector/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Recapture_Connector>
|
| 5 |
-
<version>1.0.
|
| 6 |
</Recapture_Connector>
|
| 7 |
</modules>
|
| 8 |
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Recapture_Connector>
|
| 5 |
+
<version>1.0.5</version>
|
| 6 |
</Recapture_Connector>
|
| 7 |
</modules>
|
| 8 |
|
package.xml
CHANGED
|
@@ -1,18 +1,20 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>recapture</name>
|
| 4 |
-
<version>1.0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>OSL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</summary>
|
| 10 |
<description>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</description>
|
| 11 |
-
<notes>
|
|
|
|
|
|
|
| 12 |
<authors><author><name>David Webber</name><user>Adstream</user><email>david@adstreaminc.com</email></author></authors>
|
| 13 |
-
<date>2015-07-
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="magelocal"><dir name="Recapture"><dir name="Connector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Authenticate.php" hash="b4def4c279d801f7e9c327d8ee87c414"/><file name="Key.php" hash="adf516740c9e1a392fd7f81c4fb1927e"/><file name="Status.php" hash="003133a47fb37e6f522314778eec9632"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="AuthenticateController.php" hash="0a55323dc217e54be74c91c4b92b6ecc"/></dir><file name="CartController.php" hash="
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>recapture</name>
|
| 4 |
+
<version>1.0.5</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>OSL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</summary>
|
| 10 |
<description>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</description>
|
| 11 |
+
<notes>Captures correct images for grouped and configurable products.
|
| 12 |
+

|
| 13 |
+
Added lots more cool data for campaign segmenting.</notes>
|
| 14 |
<authors><author><name>David Webber</name><user>Adstream</user><email>david@adstreaminc.com</email></author></authors>
|
| 15 |
+
<date>2015-07-31</date>
|
| 16 |
+
<time>21:23:01</time>
|
| 17 |
+
<contents><target name="magelocal"><dir name="Recapture"><dir name="Connector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Authenticate.php" hash="b4def4c279d801f7e9c327d8ee87c414"/><file name="Key.php" hash="adf516740c9e1a392fd7f81c4fb1927e"/><file name="Status.php" hash="003133a47fb37e6f522314778eec9632"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="AuthenticateController.php" hash="0a55323dc217e54be74c91c4b92b6ecc"/></dir><file name="CartController.php" hash="b1a13eaa32a9d6af551b1b73c1573a0d"/><file name="RecaptureController.php" hash="987215ca928935afc9d4f9ce4fdf670c"/></dir><dir name="etc"><file name="config.xml" hash="972e1b80755b47428392e7ab8224bbd2"/><file name="system.xml" hash="12f5cd5932b919ba61f0cb366f252efc"/></dir><dir name="Helper"><file name="Data.php" hash="a8256fffe350a4bd82ba13a9af8ddd54"/><file name="Transport.php" hash="a13bf58b13e207f5260fe2bdbe86fb5e"/></dir><dir name="Model"><file name="Observer.php" hash="d092f076cef50c6b9e91a854e32a3cbf"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Recapture_Connector.xml" hash="e8fea9dc4237af6b34219c7f52bd02d8"/></dir></target></contents>
|
| 18 |
<compatible/>
|
| 19 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 20 |
</package>
|
