recolize_recommendation_engine - Version 2.1.0

Version Notes

- Special prices get exported instead of standard prices if available
- Added a new add to wishlist action
- Enabled customer context filters
- The export now recognizes the tax display settings to export the correct prices also for e.g. B2B stores
- Improved cache handling for the FPC of Magento Enterprise

Download this release

Release Info

Developer Recolize GmbH
Extension recolize_recommendation_engine
Version 2.1.0
Comparing to
See all releases


Code changes from version 2.0.2 to 2.1.0

Files changed (20) hide show
  1. app/code/community/Recolize/RecommendationEngine/Block/Userparameter.php +108 -0
  2. app/code/community/Recolize/RecommendationEngine/Helper/Data.php +1 -1
  3. app/code/community/Recolize/RecommendationEngine/Model/Convert/Mapper/Column.php +39 -15
  4. app/code/community/Recolize/RecommendationEngine/Model/Enterprise/PageCache/Container.php +46 -0
  5. app/code/community/Recolize/RecommendationEngine/Model/Feed.php +18 -3
  6. app/code/community/Recolize/RecommendationEngine/Model/Observer.php +34 -1
  7. app/code/community/Recolize/RecommendationEngine/Model/Session.php +26 -0
  8. app/code/community/Recolize/RecommendationEngine/etc/cache.xml +22 -0
  9. app/code/community/Recolize/RecommendationEngine/etc/config.xml +39 -1
  10. app/design/frontend/base/default/layout/recolize_recommendation_engine.xml +4 -1
  11. app/design/frontend/base/default/template/recolize/recommendation_engine/add_to_cart.phtml +3 -3
  12. app/design/frontend/base/default/template/recolize/recommendation_engine/add_to_cart_ajax.phtml +3 -3
  13. app/design/frontend/base/default/template/recolize/recommendation_engine/add_to_wishlist.phtml +26 -0
  14. app/design/frontend/base/default/template/recolize/recommendation_engine/category_view.phtml +3 -3
  15. app/design/frontend/base/default/template/recolize/recommendation_engine/checkout_success.phtml +1 -1
  16. app/design/frontend/base/default/template/recolize/recommendation_engine/javascript_snippet.phtml +1 -0
  17. app/design/frontend/base/default/template/recolize/recommendation_engine/product_view.phtml +1 -1
  18. app/design/frontend/base/default/template/recolize/recommendation_engine/user_parameter.phtml +26 -0
  19. app/locale/de_DE/Recolize_RecommendationEngine.csv +1 -1
  20. package.xml +9 -8
app/code/community/Recolize/RecommendationEngine/Block/Userparameter.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Recolize GmbH
4
+ *
5
+ * @section LICENSE
6
+ * This source file is subject to the GNU General Public License Version 3 (GPLv3).
7
+ *
8
+ * @category Recolize
9
+ * @package Recolize_RecommendationEngine
10
+ * @author Recolize GmbH <service@recolize.com>
11
+ * @copyright 2015 Recolize GmbH (http://www.recolize.com)
12
+ * @license http://opensource.org/licenses/GPL-3.0 GNU General Public License Version 3 (GPLv3).
13
+ */
14
+ class Recolize_RecommendationEngine_Block_Userparameter extends Mage_Core_Block_Template
15
+ {
16
+ /**
17
+ * Customer status for a new customer.
18
+ *
19
+ * @var string
20
+ */
21
+ const STATUS_NEW_CUSTOMER = 'new_customer';
22
+
23
+ /**
24
+ * Customer status for a returning customer.
25
+ *
26
+ * @var string
27
+ */
28
+ const STATUS_RETURNING_CUSTOMER = 'returning_customer';
29
+
30
+ /**
31
+ * Check if customer is logged in or not.
32
+ *
33
+ * @return boolean
34
+ */
35
+ public function isCustomerLoggedIn()
36
+ {
37
+ return $this->_getCustomerSession()->isLoggedIn();
38
+ }
39
+
40
+ /**
41
+ * Get logged in customer id.
42
+ *
43
+ * @return integer
44
+ */
45
+ public function getCustomerId()
46
+ {
47
+ return $this->_getCustomerSession()->getId();
48
+ }
49
+
50
+ /**
51
+ * Returns current customer group.
52
+ *
53
+ * @return string
54
+ */
55
+ public function getCustomerGroup()
56
+ {
57
+ $customerGroupId = $this->_getCustomerSession()->getCustomerGroupId();
58
+ $customerGroupCode = Mage::getModel('customer/group')->load($customerGroupId)->getCustomerGroupCode();
59
+
60
+ return $customerGroupCode;
61
+ }
62
+
63
+ /**
64
+ * Returns current customer status that is either taken from saved value in customer session or calculated via
65
+ * last order.
66
+ *
67
+ * @return string
68
+ */
69
+ public function getCustomerStatus()
70
+ {
71
+ $customerStatus = Mage::getSingleton('recolize_recommendation_engine/session')->getCustomerStatus();
72
+ if (empty($customerStatus) === false) {
73
+ return $customerStatus;
74
+ }
75
+
76
+ if ($this->isCustomerLoggedIn() === true) {
77
+ /** @var Mage_Sales_Model_Order $order */
78
+ $order = Mage::getResourceModel('sales/order_collection')
79
+ ->addFieldToSelect('entity_id')
80
+ ->addFieldToFilter('customer_id', $this->getCustomerId())
81
+ ->setCurPage(1)
82
+ ->setPageSize(1)
83
+ ->getFirstItem();
84
+ $lastOrderId = $order->getId();
85
+ } else {
86
+ $lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId();
87
+ }
88
+
89
+ $customerStatus = self::STATUS_NEW_CUSTOMER;
90
+
91
+ if (empty($lastOrderId) === false) {
92
+ $customerStatus = self::STATUS_RETURNING_CUSTOMER;
93
+ }
94
+
95
+ Mage::getSingleton('recolize_recommendation_engine/session')->setCustomerStatus($customerStatus);
96
+ return $customerStatus;
97
+ }
98
+
99
+ /**
100
+ * Return customer session model.
101
+ *
102
+ * @return Mage_Customer_Model_Session
103
+ */
104
+ protected function _getCustomerSession()
105
+ {
106
+ return Mage::getSingleton('customer/session');
107
+ }
108
+ }
app/code/community/Recolize/RecommendationEngine/Helper/Data.php CHANGED
@@ -14,7 +14,7 @@
14
  class Recolize_RecommendationEngine_Helper_Data extends Mage_Core_Helper_Abstract
15
  {
16
  /**
17
- * Returns whether the BESUGRE Recommendation extension is enabled in configuration or not.
18
  *
19
  * @return boolean
20
  */
14
  class Recolize_RecommendationEngine_Helper_Data extends Mage_Core_Helper_Abstract
15
  {
16
  /**
17
+ * Returns whether the Recolize Recommendation extension is enabled in configuration or not.
18
  *
19
  * @return boolean
20
  */
app/code/community/Recolize/RecommendationEngine/Model/Convert/Mapper/Column.php CHANGED
@@ -42,11 +42,18 @@ class Recolize_RecommendationEngine_Model_Convert_Mapper_Column extends Mage_Dat
42
  protected $_imageAttribute = 'image';
43
 
44
  /**
45
- * The name of the category ids attribute.
46
  *
47
  * @var string
48
  */
49
- protected $_categoryIdsAttribute = 'category_ids';
 
 
 
 
 
 
 
50
 
51
  /**
52
  * Retrieve Batch model singleton
@@ -99,9 +106,11 @@ class Recolize_RecommendationEngine_Model_Convert_Mapper_Column extends Mage_Dat
99
  $batchExport->load($batchExportId);
100
 
101
  $row = $batchExport->getBatchData();
 
 
102
  // Apply attribute specific transformations
103
  foreach ($row as $attributeName => $attributeValue) {
104
- if (empty($attributeValue) === true) {
105
  continue;
106
  }
107
 
@@ -114,19 +123,17 @@ class Recolize_RecommendationEngine_Model_Convert_Mapper_Column extends Mage_Dat
114
  ->resize(500);
115
  }
116
 
117
- // Add category names instead of ids.
118
- if ($attributeName === $this->_categoryIdsAttribute) {
119
- $categoryNames = array();
120
- $categoryIds = explode(',', $attributeValue);
121
- foreach ($categoryIds as $categoryId) {
122
- /** @var Mage_Catalog_Model_Category $category */
123
- $category = Mage::getModel('catalog/category')->load($categoryId);
124
- if (empty($category) === false) {
125
- $categoryNames[] = $category->getName();
126
- }
127
  }
128
 
129
- $row[$attributeName] = implode(', ', $categoryNames);
 
 
 
130
  }
131
  }
132
 
@@ -139,4 +146,21 @@ class Recolize_RecommendationEngine_Model_Convert_Mapper_Column extends Mage_Dat
139
 
140
  return $this;
141
  }
142
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  protected $_imageAttribute = 'image';
43
 
44
  /**
45
+ * The name of the price attribute.
46
  *
47
  * @var string
48
  */
49
+ protected $_priceAttribute = 'price';
50
+
51
+ /**
52
+ * The name of the special price attribute.
53
+ *
54
+ * @var string
55
+ */
56
+ protected $_specialPriceAttribute = 'special_price';
57
 
58
  /**
59
  * Retrieve Batch model singleton
106
  $batchExport->load($batchExportId);
107
 
108
  $row = $batchExport->getBatchData();
109
+ $storeCode = $row['store'];
110
+
111
  // Apply attribute specific transformations
112
  foreach ($row as $attributeName => $attributeValue) {
113
+ if ($attributeValue === null) {
114
  continue;
115
  }
116
 
123
  ->resize(500);
124
  }
125
 
126
+ // Always export prices with tax and use the special price instead of the price, if available.
127
+ if ($attributeName === $this->_priceAttribute) {
128
+ if ($row[$this->_specialPriceAttribute] !== null) {
129
+ $attributeValue = $row[$this->_specialPriceAttribute];
130
+ $row[$attributeName] = $attributeValue;
 
 
 
 
 
131
  }
132
 
133
+ if ($this->_isRecalculatePriceWithTax($storeCode) === true) {
134
+ $product = Mage::getModel('catalog/product')->setStore($storeCode)->load($row['entity_id']);
135
+ $row[$attributeName] = Mage::helper('tax')->getPrice($product, $attributeValue);
136
+ }
137
  }
138
  }
139
 
146
 
147
  return $this;
148
  }
149
+
150
+ /**
151
+ * Check whether it is required to recalculate the product price including tax.
152
+ *
153
+ * @param string $storeCode
154
+ *
155
+ * @return boolean
156
+ */
157
+ protected function _isRecalculatePriceWithTax($storeCode)
158
+ {
159
+ $priceDisplayType = Mage::helper('tax')->getPriceDisplayType($storeCode);
160
+ if ($priceDisplayType !== Mage_Tax_Model_Config::DISPLAY_TYPE_EXCLUDING_TAX && Mage::helper('tax')->priceIncludesTax($storeCode) === false) {
161
+ return true;
162
+ }
163
+
164
+ return false;
165
+ }
166
+ }
app/code/community/Recolize/RecommendationEngine/Model/Enterprise/PageCache/Container.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Recolize GmbH
4
+ *
5
+ * @section LICENSE
6
+ * This source file is subject to the GNU General Public License Version 3 (GPLv3).
7
+ *
8
+ * @category Recolize
9
+ * @package Recolize_RecommendationEngine
10
+ * @author Recolize GmbH <service@recolize.com>
11
+ * @copyright 2015 Recolize GmbH (http://www.recolize.com)
12
+ * @license http://opensource.org/licenses/GPL-3.0 GNU General Public License Version 3 (GPLv3).
13
+ */
14
+ class Recolize_RecommendationEngine_Model_Enterprise_PageCache_Container extends Enterprise_PageCache_Model_Container_Abstract
15
+ {
16
+ /**
17
+ * Get unique cache identifier as we do not want to cache the block at all.
18
+ *
19
+ * @return string
20
+ */
21
+ protected function _getCacheId()
22
+ {
23
+ return 'CONTAINER_RECOLIZE_RECOMMENDATION_ENGINE_' . md5(microtime() . rand());
24
+ }
25
+
26
+ /**
27
+ * Retrieve cache identifier.
28
+ *
29
+ * @return string
30
+ */
31
+ public function getCacheId()
32
+ {
33
+ return $this->_getCacheId();
34
+ }
35
+
36
+ /**
37
+ * Render block content from placeholder.
38
+ *
39
+ * @return string
40
+ */
41
+ protected function _renderBlock()
42
+ {
43
+ $block = $this->_getPlaceHolderBlock();
44
+ return $block->toHtml();
45
+ }
46
+ }
app/code/community/Recolize/RecommendationEngine/Model/Feed.php CHANGED
@@ -35,9 +35,7 @@ class Recolize_RecommendationEngine_Model_Feed extends Mage_Core_Model_Abstract
35
  return $this;
36
  }
37
 
38
- // Required for Magento 1.5.x
39
- $adminUserModel = Mage::getModel('admin/user')->setUserId(0);
40
- Mage::getSingleton('admin/session')->setUser($adminUserModel);
41
 
42
  foreach ($this->getFeedProfileCollection() as $profileModel) {
43
  /** @var Mage_DataFlow_Model_Profile $profileModel */
@@ -81,6 +79,23 @@ class Recolize_RecommendationEngine_Model_Feed extends Mage_Core_Model_Abstract
81
  return self::DATAFLOW_PROFILE_NAME_PREFIX . ' ' . $store->getName() . '/' . $store->getCode();
82
  }
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  /**
85
  * Return the Recolize DataFlow profiles.
86
  *
35
  return $this;
36
  }
37
 
38
+ $this->initialize();
 
 
39
 
40
  foreach ($this->getFeedProfileCollection() as $profileModel) {
41
  /** @var Mage_DataFlow_Model_Profile $profileModel */
79
  return self::DATAFLOW_PROFILE_NAME_PREFIX . ' ' . $store->getName() . '/' . $store->getCode();
80
  }
81
 
82
+ /**
83
+ * Initialize the feed exporter.
84
+ *
85
+ * @return Recolize_RecommendationEngine_Model_Feed
86
+ */
87
+ private function initialize()
88
+ {
89
+ @set_time_limit(0);
90
+ @ini_set('memory_limit', '-1');
91
+
92
+ // Required for Magento 1.5.x
93
+ $adminUserModel = Mage::getModel('admin/user')->setUserId(0);
94
+ Mage::getSingleton('admin/session')->setUser($adminUserModel);
95
+
96
+ return $this;
97
+ }
98
+
99
  /**
100
  * Return the Recolize DataFlow profiles.
101
  *
app/code/community/Recolize/RecommendationEngine/Model/Observer.php CHANGED
@@ -25,7 +25,40 @@ class Recolize_RecommendationEngine_Model_Observer
25
  public function addToCart($eventObject)
26
  {
27
  Mage::getSingleton('recolize_recommendation_engine/session')->setIsProductAddedToCart(true)
28
- ->setProductId($eventObject->getProduct()->getId());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
  return $this;
31
  }
25
  public function addToCart($eventObject)
26
  {
27
  Mage::getSingleton('recolize_recommendation_engine/session')->setIsProductAddedToCart(true)
28
+ ->setProductIdInCart($eventObject->getProduct()->getId());
29
+
30
+ return $this;
31
+ }
32
+
33
+ /**
34
+ * Called, if a product was successfully added to the wishlist.
35
+ * Saves the necessary add to wishlist action data to the Recolize session namespace.
36
+ *
37
+ * Event: wishlist_add_product
38
+ *
39
+ * @param Varien_Event_Observer $eventObject event object
40
+ * @return Recolize_RecommendationEngine_Model_Observer chaining
41
+ */
42
+ public function addToWishlist(Varien_Event_Observer $eventObject)
43
+ {
44
+ Mage::getSingleton('recolize_recommendation_engine/session')->setIsProductAddedToWishlist(true)
45
+ ->setProductIdInWishlist($eventObject->getProduct()->getId());
46
+
47
+ return $this;
48
+ }
49
+
50
+ /**
51
+ * Flush the customer status that is saved in session after order placement because status might change.
52
+ *
53
+ * Event: sales_order_place_after
54
+ *
55
+ * @param Varien_Event_Observer $observer event object
56
+ *
57
+ * @return Recolize_RecommendationEngine_Model_Observer chaining
58
+ */
59
+ public function flushCustomerStatusInSession(Varien_Event_Observer $observer)
60
+ {
61
+ Mage::getSingleton('recolize_recommendation_engine/session')->unsCustomerStatus();
62
 
63
  return $this;
64
  }
app/code/community/Recolize/RecommendationEngine/Model/Session.php CHANGED
@@ -24,4 +24,30 @@ class Recolize_RecommendationEngine_Model_Session extends Mage_Core_Model_Sessio
24
 
25
  return $this;
26
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
24
 
25
  return $this;
26
  }
27
+
28
+ /**
29
+ * Clears the Recolize add to cart session data.
30
+ *
31
+ * @return Recolize_RecommendationEngine_Model_Session chaining
32
+ */
33
+ public function clearAddToCartData()
34
+ {
35
+ $this->unsIsProductAddedToCart()
36
+ ->unsProductIdInCart();
37
+
38
+ return $this;
39
+ }
40
+
41
+ /**
42
+ * Clears the Recolize add to wishlist session data.
43
+ *
44
+ * @return Recolize_RecommendationEngine_Model_Session chaining
45
+ */
46
+ public function clearAddToWishlistData()
47
+ {
48
+ $this->unsIsProductAddedToWishlist()
49
+ ->unsProductIdInWishlist();
50
+
51
+ return $this;
52
+ }
53
  }
app/code/community/Recolize/RecommendationEngine/etc/cache.xml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <placeholders>
4
+ <recolize_recommendation_engine_user_parameter>
5
+ <block>recolize_recommendation_engine/userparameter</block>
6
+ <placeholder>RECOLIZE_RECOMMENDATION_ENGINE_USER_PARAMETER</placeholder>
7
+ <container>Recolize_RecommendationEngine_Model_Enterprise_PageCache_Container</container>
8
+ </recolize_recommendation_engine_user_parameter>
9
+ <recolize_recommendation_engine_add_to_cart>
10
+ <block>core/template</block>
11
+ <name>recolize.recommendation.engine.add.to.cart</name>
12
+ <placeholder>RECOLIZE_RECOMMENDATION_ENGINE_ADD_TO_CART</placeholder>
13
+ <container>Recolize_RecommendationEngine_Model_Enterprise_PageCache_Container</container>
14
+ </recolize_recommendation_engine_add_to_cart>
15
+ <recolize_recommendation_engine_add_to_wishlist>
16
+ <block>core/template</block>
17
+ <name>recolize.recommendation.engine.add.to.wishlist</name>
18
+ <placeholder>RECOLIZE_RECOMMENDATION_ENGINE_ADD_TO_WISHLIST</placeholder>
19
+ <container>Recolize_RecommendationEngine_Model_Enterprise_PageCache_Container</container>
20
+ </recolize_recommendation_engine_add_to_wishlist>
21
+ </placeholders>
22
+ </config>
app/code/community/Recolize/RecommendationEngine/etc/config.xml CHANGED
@@ -16,7 +16,7 @@
16
  <config>
17
  <modules>
18
  <Recolize_RecommendationEngine>
19
- <version>2.0.2</version>
20
  </Recolize_RecommendationEngine>
21
  </modules>
22
  <global>
@@ -42,6 +42,35 @@
42
  <class>Recolize_RecommendationEngine_Block</class>
43
  </recolize_recommendation_engine>
44
  </blocks>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  </global>
46
  <frontend>
47
  <layout>
@@ -61,6 +90,15 @@
61
  </recolize_recommendation_engine_product_add_to_cart>
62
  </observers>
63
  </checkout_cart_product_add_after>
 
 
 
 
 
 
 
 
 
64
  </events>
65
  </frontend>
66
  <adminhtml>
16
  <config>
17
  <modules>
18
  <Recolize_RecommendationEngine>
19
+ <version>2.1.0</version>
20
  </Recolize_RecommendationEngine>
21
  </modules>
22
  <global>
42
  <class>Recolize_RecommendationEngine_Block</class>
43
  </recolize_recommendation_engine>
44
  </blocks>
45
+ <events>
46
+ <sales_order_place_after>
47
+ <observers>
48
+ <recolize_recommendation_engine_flush_customer_status_in_session>
49
+ <type>singleton</type>
50
+ <class>recolize_recommendation_engine/observer</class>
51
+ <method>flushCustomerStatusInSession</method>
52
+ </recolize_recommendation_engine_flush_customer_status_in_session>
53
+ </observers>
54
+ </sales_order_place_after>
55
+ <customer_login>
56
+ <observers>
57
+ <recolize_recommendation_engine_flush_customer_status_in_session>
58
+ <type>singleton</type>
59
+ <class>recolize_recommendation_engine/observer</class>
60
+ <method>flushCustomerStatusInSession</method>
61
+ </recolize_recommendation_engine_flush_customer_status_in_session>
62
+ </observers>
63
+ </customer_login>
64
+ <customer_logout>
65
+ <observers>
66
+ <recolize_recommendation_engine_flush_customer_status_in_session>
67
+ <type>singleton</type>
68
+ <class>recolize_recommendation_engine/observer</class>
69
+ <method>flushCustomerStatusInSession</method>
70
+ </recolize_recommendation_engine_flush_customer_status_in_session>
71
+ </observers>
72
+ </customer_logout>
73
+ </events>
74
  </global>
75
  <frontend>
76
  <layout>
90
  </recolize_recommendation_engine_product_add_to_cart>
91
  </observers>
92
  </checkout_cart_product_add_after>
93
+ <wishlist_add_product>
94
+ <observers>
95
+ <recolize_recommendation_engine_product_add_to_wishlist>
96
+ <type>singleton</type>
97
+ <class>recolize_recommendation_engine/observer</class>
98
+ <method>addToWishlist</method>
99
+ </recolize_recommendation_engine_product_add_to_wishlist>
100
+ </observers>
101
+ </wishlist_add_product>
102
  </events>
103
  </frontend>
104
  <adminhtml>
app/design/frontend/base/default/layout/recolize_recommendation_engine.xml CHANGED
@@ -16,8 +16,11 @@
16
  <layout>
17
  <default>
18
  <reference name="after_body_start">
19
- <block type="core/template" name="recolize.recommendation.engine.javascript.snippet" template="recolize/recommendation_engine/javascript_snippet.phtml" before="-" />
 
 
20
  <block type="core/template" name="recolize.recommendation.engine.add.to.cart" template="recolize/recommendation_engine/add_to_cart.phtml" before="-" />
 
21
  </reference>
22
  </default>
23
 
16
  <layout>
17
  <default>
18
  <reference name="after_body_start">
19
+ <block type="core/template" name="recolize.recommendation.engine.javascript.snippet" template="recolize/recommendation_engine/javascript_snippet.phtml" before="-">
20
+ <block type="recolize_recommendation_engine/userparameter" name="recolize.recommendation.engine.user.parameter" template="recolize/recommendation_engine/user_parameter.phtml" before="-" />
21
+ </block>
22
  <block type="core/template" name="recolize.recommendation.engine.add.to.cart" template="recolize/recommendation_engine/add_to_cart.phtml" before="-" />
23
+ <block type="core/template" name="recolize.recommendation.engine.add.to.wishlist" template="recolize/recommendation_engine/add_to_wishlist.phtml" before="-" />
24
  </reference>
25
  </default>
26
 
app/design/frontend/base/default/template/recolize/recommendation_engine/add_to_cart.phtml CHANGED
@@ -16,11 +16,11 @@
16
  <?php if (Mage::getSingleton('recolize_recommendation_engine/session')->getIsProductAddedToCart() === true): ?>
17
 
18
  <script type="text/javascript">
19
- var RecolizeParameters = {};
20
  RecolizeParameters['itemAction'] = 'add_to_cart';
21
- RecolizeParameters['clickedItemId'] = '<?php echo Mage::getModel('recolize_recommendation_engine/session')->getProductId(); ?>';
22
  </script>
23
 
24
- <?php Mage::getSingleton('recolize_recommendation_engine/session')->clear(); ?>
25
  <?php endif; ?>
26
  <?php endif; ?>
16
  <?php if (Mage::getSingleton('recolize_recommendation_engine/session')->getIsProductAddedToCart() === true): ?>
17
 
18
  <script type="text/javascript">
19
+ var RecolizeParameters = RecolizeParameters || {};
20
  RecolizeParameters['itemAction'] = 'add_to_cart';
21
+ RecolizeParameters['clickedItemId'] = '<?php echo Mage::getModel('recolize_recommendation_engine/session')->getProductIdInCart(); ?>';
22
  </script>
23
 
24
+ <?php Mage::getSingleton('recolize_recommendation_engine/session')->clearAddToCartData(); ?>
25
  <?php endif; ?>
26
  <?php endif; ?>
app/design/frontend/base/default/template/recolize/recommendation_engine/add_to_cart_ajax.phtml CHANGED
@@ -16,12 +16,12 @@
16
  <?php if (Mage::getSingleton('recolize_recommendation_engine/session')->getIsProductAddedToCart() === true): ?>
17
 
18
  <script type="text/javascript">
19
- var RecolizeParameters = {};
20
  RecolizeParameters['itemAction'] = 'add_to_cart';
21
- RecolizeParameters['clickedItemId'] = '<?php echo Mage::getModel('recolize_recommendation_engine/session')->getProductId(); ?>';
22
  Recolize.Recommendation.Api.request();
23
  </script>
24
 
25
- <?php Mage::getSingleton('recolize_recommendation_engine/session')->clear(); ?>
26
  <?php endif; ?>
27
  <?php endif; ?>
16
  <?php if (Mage::getSingleton('recolize_recommendation_engine/session')->getIsProductAddedToCart() === true): ?>
17
 
18
  <script type="text/javascript">
19
+ var RecolizeParameters = RecolizeParameters || {};
20
  RecolizeParameters['itemAction'] = 'add_to_cart';
21
+ RecolizeParameters['clickedItemId'] = '<?php echo Mage::getModel('recolize_recommendation_engine/session')->getProductIdInCart(); ?>';
22
  Recolize.Recommendation.Api.request();
23
  </script>
24
 
25
+ <?php Mage::getSingleton('recolize_recommendation_engine/session')->clearAddToCartData(); ?>
26
  <?php endif; ?>
27
  <?php endif; ?>
app/design/frontend/base/default/template/recolize/recommendation_engine/add_to_wishlist.phtml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Recolize GmbH
4
+ *
5
+ * @section LICENSE
6
+ * This source file is subject to the GNU General Public License Version 3 (GPLv3).
7
+ *
8
+ * @category Recolize
9
+ * @package Recolize_RecommendationEngine
10
+ * @author Recolize GmbH <service@recolize.com>
11
+ * @copyright 2015 Recolize GmbH (http://www.recolize.com)
12
+ * @license http://opensource.org/licenses/GPL-3.0 GNU General Public License Version 3 (GPLv3).
13
+ */
14
+ ?>
15
+ <?php if (Mage::getStoreConfigFlag('recolize_recommendation_engine/general/enable_extension') === true): ?>
16
+ <?php if (Mage::getSingleton('recolize_recommendation_engine/session')->getIsProductAddedToWishlist() === true): ?>
17
+
18
+ <script type="text/javascript">
19
+ var RecolizeParameters = RecolizeParameters || {};
20
+ RecolizeParameters['itemAction'] = 'add_to_wishlist';
21
+ RecolizeParameters['clickedItemId'] = '<?php echo Mage::getModel('recolize_recommendation_engine/session')->getProductIdInWishlist(); ?>';
22
+ </script>
23
+
24
+ <?php Mage::getSingleton('recolize_recommendation_engine/session')->clearAddToWishlistData(); ?>
25
+ <?php endif; ?>
26
+ <?php endif; ?>
app/design/frontend/base/default/template/recolize/recommendation_engine/category_view.phtml CHANGED
@@ -13,11 +13,11 @@
13
  */
14
  ?>
15
  <?php if (Mage::getStoreConfigFlag('recolize_recommendation_engine/general/enable_extension') === true): ?>
16
- <?php $currentCategoryName = Mage::registry('current_category')->getName(); ?>
17
 
18
  <script type="text/javascript">
19
- var RecolizeParameters = {};
20
  RecolizeParameters['specialPageType'] = 'category';
21
- RecolizeParameters['categoryId'] = '<?php echo $currentCategoryName ?>';
22
  </script>
23
  <?php endif; ?>
13
  */
14
  ?>
15
  <?php if (Mage::getStoreConfigFlag('recolize_recommendation_engine/general/enable_extension') === true): ?>
16
+ <?php $currentCategoryId = Mage::registry('current_category')->getId(); ?>
17
 
18
  <script type="text/javascript">
19
+ var RecolizeParameters = RecolizeParameters || {};
20
  RecolizeParameters['specialPageType'] = 'category';
21
+ RecolizeParameters['categoryId'] = '<?php echo $currentCategoryId; ?>';
22
  </script>
23
  <?php endif; ?>
app/design/frontend/base/default/template/recolize/recommendation_engine/checkout_success.phtml CHANGED
@@ -20,7 +20,7 @@
20
  ?>
21
 
22
  <script type="text/javascript">
23
- var RecolizeParameters = {};
24
  RecolizeParameters['itemAction'] = 'sale';
25
  RecolizeParameters['saleData'] = {};
26
 
20
  ?>
21
 
22
  <script type="text/javascript">
23
+ var RecolizeParameters = RecolizeParameters || {};
24
  RecolizeParameters['itemAction'] = 'sale';
25
  RecolizeParameters['saleData'] = {};
26
 
app/design/frontend/base/default/template/recolize/recommendation_engine/javascript_snippet.phtml CHANGED
@@ -13,5 +13,6 @@
13
  */
14
  ?>
15
  <?php if (Mage::getStoreConfigFlag('recolize_recommendation_engine/general/enable_extension') === true): ?>
 
16
  <?php echo Mage::getStoreConfig('recolize_recommendation_engine/general/javascript_snippet'); ?>
17
  <?php endif; ?>
13
  */
14
  ?>
15
  <?php if (Mage::getStoreConfigFlag('recolize_recommendation_engine/general/enable_extension') === true): ?>
16
+ <?php echo $this->getChildHtml(); ?>
17
  <?php echo Mage::getStoreConfig('recolize_recommendation_engine/general/javascript_snippet'); ?>
18
  <?php endif; ?>
app/design/frontend/base/default/template/recolize/recommendation_engine/product_view.phtml CHANGED
@@ -16,7 +16,7 @@
16
  <?php $currentProductId = Mage::registry('current_product')->getId(); ?>
17
 
18
  <script type="text/javascript">
19
- var RecolizeParameters = {};
20
  RecolizeParameters['specialPageType'] = 'item-detail';
21
  RecolizeParameters['currentItemId'] = '<?php echo $currentProductId ?>';
22
  </script>
16
  <?php $currentProductId = Mage::registry('current_product')->getId(); ?>
17
 
18
  <script type="text/javascript">
19
+ var RecolizeParameters = RecolizeParameters || {};
20
  RecolizeParameters['specialPageType'] = 'item-detail';
21
  RecolizeParameters['currentItemId'] = '<?php echo $currentProductId ?>';
22
  </script>
app/design/frontend/base/default/template/recolize/recommendation_engine/user_parameter.phtml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Recolize GmbH
4
+ *
5
+ * @section LICENSE
6
+ * This source file is subject to the GNU General Public License Version 3 (GPLv3).
7
+ *
8
+ * @category Recolize
9
+ * @package Recolize_RecommendationEngine
10
+ * @author Recolize GmbH <service@recolize.com>
11
+ * @copyright 2015 Recolize GmbH (http://www.recolize.com)
12
+ * @license http://opensource.org/licenses/GPL-3.0 GNU General Public License Version 3 (GPLv3).
13
+ */
14
+ /**
15
+ * @var Recolize_RecommendationEngine_Block_Userparameter $this
16
+ */
17
+ ?>
18
+ <script type="text/javascript">
19
+ var RecolizeParameters = RecolizeParameters || {};
20
+ RecolizeParameters['User'] = RecolizeParameters['User'] || {};
21
+ <?php if ($this->isCustomerLoggedIn() === true): ?>
22
+ RecolizeParameters['User']['id'] = '<?php echo $this->getCustomerId(); ?>';
23
+ <?php endif; ?>
24
+ RecolizeParameters['User']['status'] = '<?php echo $this->getCustomerStatus(); ?>';
25
+ RecolizeParameters['User']['group'] = '<?php echo $this->getCustomerGroup(); ?>';
26
+ </script>
app/locale/de_DE/Recolize_RecommendationEngine.csv CHANGED
@@ -4,6 +4,6 @@
4
  "If set to 'Yes' the Recolize Recommendation Engine extension is enabled and generates product recommendations. If set to 'No' the extension is completely disabled.","Diese Option aktiviert die Recolize Recommendation Engine und es werden Produktempfehlungen generiert. Mit der Auswahl 'Nein' deaktivieren Sie die Recolize Recommendation Engine Extension komplett."
5
  "Please paste the JavaScript snippet code that you got from your domain settings in the <a href='https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin' target='_blank'>Recolize Tool</a>.","Bitte fügen Sie den JavaScript Snippet Code aus Ihren Domain-Einstellungen im <a href='https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin' target='_blank'>Recolize Tool</a> ein."
6
  "Recolize Product Feed Settings","Einstellungen Recolize Produkt-Feed"
7
- "Enable Product Feed","Produkt-Feed aktvieren"
8
  "If set to 'Yes' the Recolize Product Feed will be generated each night. Please copy the path depending on your StoreView into your domain settings in the <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a>:","Diese Option aktiviert die Generierung des Recolize Produkt-Feeds einmal nachts. Bitte kopieren Sie die Pfade abhängig von dem jeweiligen StoreView in die Domain-Einstellungen im <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a>:"
9
  "You can set this setting to 'No' if you already have other product feeds like Google Shopping, CSV-based product exports, etc. Then you have to enter these feed urls into the <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a>.","Diese Option kann deaktiviert werden, wenn Sie bereits andere Produkt-Feeds wie beispielsweise Google Shopping oder CSV-basierte Produkt-Exporte verwenden. Diese Feed-URLs müssen dann im <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a> eingetragen werden."
4
  "If set to 'Yes' the Recolize Recommendation Engine extension is enabled and generates product recommendations. If set to 'No' the extension is completely disabled.","Diese Option aktiviert die Recolize Recommendation Engine und es werden Produktempfehlungen generiert. Mit der Auswahl 'Nein' deaktivieren Sie die Recolize Recommendation Engine Extension komplett."
5
  "Please paste the JavaScript snippet code that you got from your domain settings in the <a href='https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin' target='_blank'>Recolize Tool</a>.","Bitte fügen Sie den JavaScript Snippet Code aus Ihren Domain-Einstellungen im <a href='https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin' target='_blank'>Recolize Tool</a> ein."
6
  "Recolize Product Feed Settings","Einstellungen Recolize Produkt-Feed"
7
+ "Enable Product Feed","Produkt-Feed aktivieren"
8
  "If set to 'Yes' the Recolize Product Feed will be generated each night. Please copy the path depending on your StoreView into your domain settings in the <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a>:","Diese Option aktiviert die Generierung des Recolize Produkt-Feeds einmal nachts. Bitte kopieren Sie die Pfade abhängig von dem jeweiligen StoreView in die Domain-Einstellungen im <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a>:"
9
  "You can set this setting to 'No' if you already have other product feeds like Google Shopping, CSV-based product exports, etc. Then you have to enter these feed urls into the <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a>.","Diese Option kann deaktiviert werden, wenn Sie bereits andere Produkt-Feeds wie beispielsweise Google Shopping oder CSV-basierte Produkt-Exporte verwenden. Diese Feed-URLs müssen dann im <a href=""https://tool.recolize.com/domains?utm_source=magento-extension-admin-area&utm_medium=web&utm_campaign=Magento Extension Admin"" target=""_blank"">Recolize Tool</a> eingetragen werden."
package.xml CHANGED
@@ -1,21 +1,22 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>recolize_recommendation_engine</name>
4
- <version>2.0.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/GPL-3.0">GNU General Public License (GPL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>The Recolize Recommendation Engine generates personalized product recommendations.</summary>
10
  <description>The Recolize Recommendation Engine is a recommendation service for shops of every size. You can integrate our extension in minutes and immediately start with personalized recommendations in your shop. No matter what size it is.</description>
11
- <notes>- Enabled the current category filter, which now can be used in the Recolize Tool&#xD;
12
- - The product feed profile names are now unique in a multistore setup with same store names&#xD;
13
- - The feed data is not aggregated anymore in a multistore setup&#xD;
14
- - Optimized the Recolize parameters JavaScript parts to avoid conflicts with other extensions in a merged JS setup</notes>
 
15
  <authors><author><name>Recolize GmbH</name><user>recolize</user><email>admin@recolize.com</email></author></authors>
16
- <date>2015-08-31</date>
17
- <time>19:05:20</time>
18
- <contents><target name="magecommunity"><dir name="Recolize"><dir name="RecommendationEngine"><dir name="Helper"><file name="Data.php" hash="b8c7aef918d25bf3a6526f92a9c87943"/></dir><file name="Installation_Instructions.pdf" hash="6dbc83b65fc75a105fd49df6294f07f1"/><file name="Installationsanleitung.pdf" hash="755bda8b121e28b25c8630ce1f222ec1"/><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Feed.php" hash="2e47a8d51daf64b02646fe0516fd9449"/></dir></dir></dir></dir><dir name="Convert"><dir name="Mapper"><file name="Column.php" hash="2aab9f6b96ce7aa79713446f19eac9f6"/></dir><dir name="Parser"><file name="Product.php" hash="8bda25fb519231402379bf1747046906"/></dir></dir><file name="Feed.php" hash="8cfae5a6d8dcd2dc4ec9c5d53f1cf56d"/><file name="Observer.php" hash="4b20f6c601a99494360d55f401ec6e1c"/><file name="Session.php" hash="fb1aaea121d19480dc40b767ccecb160"/></dir><dir name="data"><dir name="recolize_re_setup"><file name="data-install-2.0.1.php" hash="91325d474359f9f4bbaf5ae96954d8d6"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="f2ac8a1129641c29badeb635f7d6911c"/><file name="config.xml" hash="103dfba4877911bb62a7ff13a4817f75"/><file name="system.xml" hash="c5cb569c7c87ed56ed8f7adec9dcf38b"/></dir><dir name="sql"><dir name="recolize_re_setup"><file name="mysql4-install-2.0.0.php" hash="cd2fcf1924cd80c155e23e0448db1712"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="layout"><file name="recolize_recommendation_engine.xml" hash="bed9cd00bf277ff3ed65b8c75bef0102"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="recolize"><dir name="recommendation_engine"><file name="add_to_cart.phtml" hash="5522b2958067b9be887b095d77d954c7"/><file name="add_to_cart_ajax.phtml" hash="8c7bb471f6e410938a2eab11c5090272"/><file name="category_view.phtml" hash="8c6888f03756d3c6198afc43dc3a7480"/><file name="checkout_success.phtml" hash="3f634b1803428109e3c325317479ce11"/><file name="javascript_snippet.phtml" hash="5d25e641222d9da2f2e774718c799475"/><file name="product_view.phtml" hash="3658648080fb64817dbda3980a96d595"/></dir></dir></dir><dir name="layout"><file name="recolize_recommendation_engine.xml" hash="5ea7c7f18e45dade889795aaa4596ad7"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Recolize_RecommendationEngine.xml" hash="379b47272f4b53bb5c8632474cb3bce7"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Recolize_RecommendationEngine.csv" hash="832b98fc60923a307229a679ebda0c7d"/></dir><dir name="en_US"><file name="Recolize_RecommendationEngine.csv" hash="85ec4bf3434c62b243f69edb26460ae5"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="recolize"><dir name="recommendation_engine"><file name="configuration.css" hash="2edfa2909522551ec139a7c55b1e0348"/></dir></dir></dir></dir></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>recolize_recommendation_engine</name>
4
+ <version>2.1.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/GPL-3.0">GNU General Public License (GPL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>The Recolize Recommendation Engine generates personalized product recommendations.</summary>
10
  <description>The Recolize Recommendation Engine is a recommendation service for shops of every size. You can integrate our extension in minutes and immediately start with personalized recommendations in your shop. No matter what size it is.</description>
11
+ <notes>- Special prices get exported instead of standard prices if available&#xD;
12
+ - Added a new add to wishlist action&#xD;
13
+ - Enabled customer context filters&#xD;
14
+ - The export now recognizes the tax display settings to export the correct prices also for e.g. B2B stores&#xD;
15
+ - Improved cache handling for the FPC of Magento Enterprise</notes>
16
  <authors><author><name>Recolize GmbH</name><user>recolize</user><email>admin@recolize.com</email></author></authors>
17
+ <date>2016-02-03</date>
18
+ <time>07:56:25</time>
19
+ <contents><target name="magecommunity"><dir name="Recolize"><dir name="RecommendationEngine"><dir name="Block"><file name="Userparameter.php" hash="93c8861ca1cb3f34de8f5c50fc436ab0"/></dir><dir name="Helper"><file name="Data.php" hash="f259029d42b61f7505d482bd71047c5f"/></dir><file name="Installation_Instructions.pdf" hash="6dbc83b65fc75a105fd49df6294f07f1"/><file name="Installationsanleitung.pdf" hash="755bda8b121e28b25c8630ce1f222ec1"/><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Feed.php" hash="2e47a8d51daf64b02646fe0516fd9449"/></dir></dir></dir></dir><dir name="Convert"><dir name="Mapper"><file name="Column.php" hash="d1f833e5bdd27a6e7ee5ea20bedc5052"/></dir><dir name="Parser"><file name="Product.php" hash="8bda25fb519231402379bf1747046906"/></dir></dir><dir name="Enterprise"><dir name="PageCache"><file name="Container.php" hash="916bc2217ba4961bb5c79de6d6994e60"/></dir></dir><file name="Feed.php" hash="35fe46a26f2bc85cff458d8a3a922060"/><file name="Observer.php" hash="8b91ed474494ef75674d0dd4949a5432"/><file name="Session.php" hash="615ca6fd39f138d286166b191fb34259"/></dir><dir name="data"><dir name="recolize_re_setup"><file name="data-install-2.0.1.php" hash="91325d474359f9f4bbaf5ae96954d8d6"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="f2ac8a1129641c29badeb635f7d6911c"/><file name="cache.xml" hash="d48591794b527e37b20e2ee698532442"/><file name="config.xml" hash="014bbfab0e7a4e43a127868c716e93db"/><file name="system.xml" hash="c5cb569c7c87ed56ed8f7adec9dcf38b"/></dir><dir name="sql"><dir name="recolize_re_setup"><file name="mysql4-install-2.0.0.php" hash="cd2fcf1924cd80c155e23e0448db1712"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="layout"><file name="recolize_recommendation_engine.xml" hash="bed9cd00bf277ff3ed65b8c75bef0102"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="recolize"><dir name="recommendation_engine"><file name="add_to_cart.phtml" hash="562d936642bb97fc68b759ab254e7043"/><file name="add_to_cart_ajax.phtml" hash="8e5b043a589834922675e35084e7f2fd"/><file name="add_to_wishlist.phtml" hash="95a1e63e74daf779a908abc703c4e1c7"/><file name="category_view.phtml" hash="a7dfaac5a2303784758cbcc0aaef4e66"/><file name="checkout_success.phtml" hash="3f6f805e803d4e79b3caf7bae53c1f12"/><file name="javascript_snippet.phtml" hash="88cbb5e0837512ed60e09bd6acffa67e"/><file name="product_view.phtml" hash="2df6201012bed18d210ee34df965ff48"/><file name="user_parameter.phtml" hash="ee1936211fdc22d3cc2c5ae824b8c255"/></dir></dir></dir><dir name="layout"><file name="recolize_recommendation_engine.xml" hash="707732c68a9e41bba48fa17a84a58444"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Recolize_RecommendationEngine.xml" hash="379b47272f4b53bb5c8632474cb3bce7"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Recolize_RecommendationEngine.csv" hash="f25ebed16c021391368f024268952f49"/></dir><dir name="en_US"><file name="Recolize_RecommendationEngine.csv" hash="85ec4bf3434c62b243f69edb26460ae5"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="recolize"><dir name="recommendation_engine"><file name="configuration.css" hash="2edfa2909522551ec139a7c55b1e0348"/></dir></dir></dir></dir></dir></dir></target></contents>
20
  <compatible/>
21
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
22
  </package>