Version Notes
- remove duplicate process Cart call on checkout success
Download this release
Release Info
Developer | Flagbit GmbH |
Extension | epoqRS |
Version | 1.2.7 |
Comparing to | |
See all releases |
Code changes from version 1.2.4 to 1.2.7
- app/code/community/Flagbit/EpoqInterface/Block/Export/Productlist.php +8 -3
- app/code/community/Flagbit/EpoqInterface/Block/Recommendation.php +42 -0
- app/code/community/Flagbit/EpoqInterface/Block/Recommendation/Abstract.php +23 -20
- app/code/community/Flagbit/EpoqInterface/Helper/Data.php +32 -0
- app/code/community/Flagbit/EpoqInterface/Model/Order.php +4 -6
- app/code/community/Flagbit/EpoqInterface/Model/Recommendation/Abstract.php +55 -54
- app/code/community/Flagbit/EpoqInterface/Model/Recommendation/Cart.php +2 -1
- app/code/community/Flagbit/EpoqInterface/Model/Recommendation/Product.php +2 -1
- app/code/community/Flagbit/EpoqInterface/Model/Recommendation/User.php +4 -5
- app/code/community/Flagbit/EpoqInterface/Model/Resource/Eav/Mysql4/Product/Collection.php +2 -1
- app/code/community/Flagbit/EpoqInterface/etc/config.xml +1 -1
- app/design/frontend/base/default/layout/epoqinterface.xml +13 -6
- app/design/frontend/default/default/layout/epoqinterface.xml +8 -4
- package.xml +5 -6
app/code/community/Flagbit/EpoqInterface/Block/Export/Productlist.php
CHANGED
@@ -80,9 +80,14 @@ class Flagbit_EpoqInterface_Block_Export_Productlist extends Flagbit_EpoqInterfa
|
|
80 |
using resource iterator to load the data one by one
|
81 |
instead of loading all at the same time. loading all data at the same time can cause the big memory allocation.
|
82 |
*/
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
86 |
return $xmlObj->saveXML();
|
87 |
}
|
88 |
|
80 |
using resource iterator to load the data one by one
|
81 |
instead of loading all at the same time. loading all data at the same time can cause the big memory allocation.
|
82 |
*/
|
83 |
+
// BUGFIX: replaced with foreach: customer reported that product links in export xml are always the same
|
84 |
+
// Mage::getSingleton('core/resource_iterator')
|
85 |
+
// ->walk($products->getSelect(), array(array($this, 'addNewItemXmlCallback')), array('xmlObj'=> $xmlObj, 'product'=>$product));
|
86 |
+
foreach ($products as $product)
|
87 |
+
{
|
88 |
+
$this->addNewItemXmlCallback(array('product' => $product, 'xmlObj' => $xmlObj));
|
89 |
+
}
|
90 |
+
|
91 |
return $xmlObj->saveXML();
|
92 |
}
|
93 |
|
app/code/community/Flagbit/EpoqInterface/Block/Recommendation.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
6 |
+
* It is available through the world-wide-web at this URL:
|
7 |
+
* http://opensource.org/licenses/osl-3.0.php
|
8 |
+
*
|
9 |
+
* @category Flagbit
|
10 |
+
* @package EpoqInterface
|
11 |
+
* @copyright Copyright (c) 2012 Flagbit
|
12 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
13 |
+
* @author Mike Becker<mike.becker@flagbit.de>
|
14 |
+
*/
|
15 |
+
class Flagbit_EpoqInterface_Block_Recommendation extends Mage_Core_Block_Abstract
|
16 |
+
{
|
17 |
+
public function _toHtml()
|
18 |
+
{
|
19 |
+
if (!$section = $this->getSection()) {
|
20 |
+
$section = 'product';
|
21 |
+
}
|
22 |
+
|
23 |
+
if (Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Recommendation_Abstract::XML_USING_AJAX)) {
|
24 |
+
// create one block for ajax input. Rules will be evaluated in js
|
25 |
+
echo $this->getLayout()->createBlock('epoqinterface/recommendation_' . $section)
|
26 |
+
->setTemplate('epoqinterface/recommendation/'.$section.'.phtml')
|
27 |
+
->toHtml();
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
|
31 |
+
foreach (Mage::helper('epoqinterface')->getRulesForSection($section) as $rule)
|
32 |
+
{
|
33 |
+
// create block for each rule
|
34 |
+
echo $this->getLayout()->createBlock('epoqinterface/recommendation_' . $section)
|
35 |
+
->setRule($rule)
|
36 |
+
->setTemplate('epoqinterface/recommendation/'.$section.'.phtml')
|
37 |
+
->toHtml();
|
38 |
+
}
|
39 |
+
|
40 |
+
|
41 |
+
}
|
42 |
+
}
|
app/code/community/Flagbit/EpoqInterface/Block/Recommendation/Abstract.php
CHANGED
@@ -29,27 +29,30 @@ class Flagbit_EpoqInterface_Block_Recommendation_Abstract extends Mage_Catalog_B
|
|
29 |
|
30 |
protected function _prepareData()
|
31 |
{
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
$
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
-
|
53 |
return $this;
|
54 |
}
|
55 |
|
29 |
|
30 |
protected function _prepareData()
|
31 |
{
|
32 |
+
// Zend_Debug::dump($this->getRule());
|
33 |
+
// only necessary if ajax is disabled
|
34 |
+
if (!Mage::getStoreConfig(self::XML_USING_AJAX)) {
|
35 |
+
|
36 |
+
$this->_itemCollection = Mage::getSingleton($this->_collectionModel, $this->getData())->getCollection($this->getRule())
|
37 |
+
->addStoreFilter();
|
38 |
+
|
39 |
+
Mage::getResourceSingleton('checkout/cart')->addExcludeProductFilter($this->_itemCollection,
|
40 |
+
Mage::getSingleton('checkout/session')->getQuoteId()
|
41 |
+
);
|
42 |
+
$this->_addProductAttributesAndPrices($this->_itemCollection);
|
43 |
+
|
44 |
+
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($this->_itemCollection);
|
45 |
+
|
46 |
+
if ($this->getItemLimit('upsell') > 0) {
|
47 |
+
$this->_itemCollection->setPageSize($this->getItemLimit('upsell'));
|
48 |
+
}
|
49 |
+
|
50 |
+
$this->_itemCollection->load();
|
51 |
+
|
52 |
+
foreach ($this->_itemCollection as $product) {
|
53 |
+
$product->setDoNotUseCategoryId(true);
|
54 |
+
}
|
55 |
}
|
|
|
56 |
return $this;
|
57 |
}
|
58 |
|
app/code/community/Flagbit/EpoqInterface/Helper/Data.php
CHANGED
@@ -119,5 +119,37 @@ class Flagbit_EpoqInterface_Helper_Data extends Mage_Core_Helper_Abstract
|
|
119 |
{
|
120 |
return Mage::getStoreConfig(self::XML_CONFIG_PATH_COOKIE_STATUS);
|
121 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
|
123 |
}
|
119 |
{
|
120 |
return Mage::getStoreConfig(self::XML_CONFIG_PATH_COOKIE_STATUS);
|
121 |
}
|
122 |
+
|
123 |
+
|
124 |
+
/**
|
125 |
+
* get the rule of the current section
|
126 |
+
*
|
127 |
+
* @return string $rule
|
128 |
+
*/
|
129 |
+
public function getRulesForSection($section, $asString = false)
|
130 |
+
{
|
131 |
+
$rule = '';
|
132 |
+
switch(strtolower($section))
|
133 |
+
{
|
134 |
+
case 'product':
|
135 |
+
$rule = Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Abstract::XML_RULE_PRODUCT);
|
136 |
+
break;
|
137 |
+
case 'cart':
|
138 |
+
$rule = Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Abstract::XML_RULE_CART);
|
139 |
+
break;
|
140 |
+
case 'user':
|
141 |
+
$rule = Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Abstract::XML_RULE_CUSTOMER);
|
142 |
+
break;
|
143 |
+
default:
|
144 |
+
$rule = '';
|
145 |
+
break;
|
146 |
+
}
|
147 |
+
|
148 |
+
if (true === $asString) {
|
149 |
+
return $rule;
|
150 |
+
}
|
151 |
+
|
152 |
+
return explode(';',$rule);
|
153 |
+
}
|
154 |
|
155 |
}
|
app/code/community/Flagbit/EpoqInterface/Model/Order.php
CHANGED
@@ -15,9 +15,8 @@
|
|
15 |
* @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
|
16 |
*/
|
17 |
|
18 |
-
class Flagbit_EpoqInterface_Model_Order extends Flagbit_EpoqInterface_Model_Abstract
|
19 |
-
|
20 |
-
|
21 |
/**
|
22 |
* send Customer Data
|
23 |
*
|
@@ -26,9 +25,8 @@ class Flagbit_EpoqInterface_Model_Order extends Flagbit_EpoqInterface_Model_Abst
|
|
26 |
public function send($order)
|
27 |
{
|
28 |
$this->setAction('processCart');
|
29 |
-
|
|
|
30 |
}
|
31 |
-
|
32 |
-
|
33 |
}
|
34 |
|
15 |
* @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
|
16 |
*/
|
17 |
|
18 |
+
class Flagbit_EpoqInterface_Model_Order extends Flagbit_EpoqInterface_Model_Abstract
|
19 |
+
{
|
|
|
20 |
/**
|
21 |
* send Customer Data
|
22 |
*
|
25 |
public function send($order)
|
26 |
{
|
27 |
$this->setAction('processCart');
|
28 |
+
// this will generate a duplicate processCart call in non-ajaxmode which is not necessary
|
29 |
+
// Mage::getSingleton('epoqinterface/recommendation_cart', $this->getData());
|
30 |
}
|
|
|
|
|
31 |
}
|
32 |
|
app/code/community/Flagbit/EpoqInterface/Model/Recommendation/Abstract.php
CHANGED
@@ -17,6 +17,13 @@
|
|
17 |
|
18 |
class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqInterface_Model_Abstract
|
19 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
/**
|
21 |
* Constructor
|
22 |
*
|
@@ -34,39 +41,26 @@ class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqIn
|
|
34 |
$this->_construct();
|
35 |
|
36 |
// get Data
|
37 |
-
$
|
38 |
-
if (!$result instanceof Zend_Rest_Client_Result) {
|
39 |
-
return;
|
40 |
-
}
|
41 |
-
|
42 |
-
// generate product ID array
|
43 |
-
$productIds = array();
|
44 |
-
if ($result->getIterator() instanceof SimpleXMLElement) {
|
45 |
-
foreach ($result->getIterator()->domain->recommendation as $product) {
|
46 |
-
$productIds[] = (string) $product->productId;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
|
50 |
-
// set Data
|
51 |
-
$this->setProductIds($productIds);
|
52 |
-
$this->setRecommendationId((string) $result->getIterator()->domain->recommendationId);
|
53 |
-
|
54 |
-
$this->getSession()->setLastRecommendationId($this->getRecommendationId());
|
55 |
-
$this->getSession()->setLastRecommendationProducts($this->getProductIds());
|
56 |
}
|
57 |
|
58 |
|
59 |
/**
|
60 |
* get Product Collection
|
61 |
*
|
|
|
62 |
* @return Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
|
63 |
*/
|
64 |
-
public function getCollection()
|
65 |
{
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
70 |
}
|
71 |
|
72 |
|
@@ -81,10 +75,9 @@ class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqIn
|
|
81 |
if (array_key_exists('action', $this->getData()) && $this->getData('action') == 'processCart') {
|
82 |
$url = $this->getRestUrl().'processCart?'.$this->_httpBuildQuery($this->getParamsArray());
|
83 |
} else {
|
84 |
-
// $url = $this->getRestUrl().'getRecommendationsFor'.$this->_getRecommendationFor.'?'.$this->_httpBuildQuery($this->getParamsArray());
|
85 |
$url = $this->getRestUrl().'getRecommendations'.'?'.$this->_httpBuildQuery($this->getParamsArray());
|
86 |
}
|
87 |
-
|
88 |
$this->_restClient = new Zend_Rest_Client($url);
|
89 |
$this->_restClient->getHttpClient()->setConfig(
|
90 |
array(
|
@@ -96,6 +89,41 @@ class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqIn
|
|
96 |
}
|
97 |
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
/**
|
100 |
* add parameters to url
|
101 |
*
|
@@ -129,7 +157,7 @@ class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqIn
|
|
129 |
'sessionId' => Mage::getSingleton('core/session')->getSessionId(),
|
130 |
'demo' => Mage::getStoreConfig(self::XML_DEMO_PATH) ? Mage::getStoreConfig(self::XML_DEMO_ITEMS_AMOUNT) : 0,
|
131 |
'widgetTheme' => 'multixml',
|
132 |
-
'rules' => $this->
|
133 |
);
|
134 |
|
135 |
if ($customerId = Mage::getSingleton('customer/session')->getId()) {
|
@@ -139,31 +167,4 @@ class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqIn
|
|
139 |
return $variables;
|
140 |
}
|
141 |
|
142 |
-
|
143 |
-
/**
|
144 |
-
* get the rule of the current section
|
145 |
-
*
|
146 |
-
* @return string $rule
|
147 |
-
*/
|
148 |
-
protected function _getRulesForSection()
|
149 |
-
{
|
150 |
-
$rule = '';
|
151 |
-
switch($this->_getRecommendationFor)
|
152 |
-
{
|
153 |
-
case 'Item':
|
154 |
-
$rule = Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Abstract::XML_RULE_PRODUCT);
|
155 |
-
break;
|
156 |
-
case 'Cart':
|
157 |
-
$rule = Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Abstract::XML_RULE_CART);
|
158 |
-
break;
|
159 |
-
case 'Customer':
|
160 |
-
$rule = Mage::getStoreConfig(Flagbit_EpoqInterface_Block_Abstract::XML_RULE_CUSTOMER);
|
161 |
-
break;
|
162 |
-
default:
|
163 |
-
$rule = '';
|
164 |
-
break;
|
165 |
-
}
|
166 |
-
|
167 |
-
return $rule;
|
168 |
-
}
|
169 |
}
|
17 |
|
18 |
class Flagbit_EpoqInterface_Model_Recommendation_Abstract extends Flagbit_EpoqInterface_Model_Abstract
|
19 |
{
|
20 |
+
|
21 |
+
/** @var array $_collection **/
|
22 |
+
protected $_collection = array();
|
23 |
+
|
24 |
+
/** @var Zend_Rest_Client_Result $_result **/
|
25 |
+
protected $_result;
|
26 |
+
|
27 |
/**
|
28 |
* Constructor
|
29 |
*
|
41 |
$this->_construct();
|
42 |
|
43 |
// get Data
|
44 |
+
$this->_result = $this->_doRequest();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
46 |
|
47 |
|
48 |
/**
|
49 |
* get Product Collection
|
50 |
*
|
51 |
+
* @param string $rule
|
52 |
* @return Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
|
53 |
*/
|
54 |
+
public function getCollection($rule = 'default')
|
55 |
{
|
56 |
+
if (empty($this->_collection[$rule])) {
|
57 |
+
/*@var $collection Flagbit_EpoqInterface_Model_Rescource_Eav_Mysql4_Product_Collection */
|
58 |
+
$this->_collection[$rule] = Mage::getResourceModel('epoqinterface/product_collection');
|
59 |
+
$this->_collection[$rule]->setProductIds($this->_getProductIdsByRule($rule));
|
60 |
+
|
61 |
+
}
|
62 |
+
return $this->_collection[$rule];
|
63 |
+
|
64 |
}
|
65 |
|
66 |
|
75 |
if (array_key_exists('action', $this->getData()) && $this->getData('action') == 'processCart') {
|
76 |
$url = $this->getRestUrl().'processCart?'.$this->_httpBuildQuery($this->getParamsArray());
|
77 |
} else {
|
|
|
78 |
$url = $this->getRestUrl().'getRecommendations'.'?'.$this->_httpBuildQuery($this->getParamsArray());
|
79 |
}
|
80 |
+
// Zend_Debug::dump($url);
|
81 |
$this->_restClient = new Zend_Rest_Client($url);
|
82 |
$this->_restClient->getHttpClient()->setConfig(
|
83 |
array(
|
89 |
}
|
90 |
|
91 |
|
92 |
+
/**
|
93 |
+
*
|
94 |
+
* @param unknown_type $rule
|
95 |
+
*/
|
96 |
+
protected function _getProductIdsByRule($rule = 'default')
|
97 |
+
{
|
98 |
+
// generate product ID array
|
99 |
+
$productIds = array();
|
100 |
+
|
101 |
+
if ($this->_result instanceof Zend_Rest_Client_Result &&
|
102 |
+
$this->_result->getIterator() instanceof SimpleXMLElement) {
|
103 |
+
|
104 |
+
foreach ($this->_result->getIterator()->domain as $domain)
|
105 |
+
{
|
106 |
+
$domainRule = (string)$domain->attributes()->rules;
|
107 |
+
|
108 |
+
if ($rule == $domainRule) {
|
109 |
+
foreach ($domain->recommendation as $product)
|
110 |
+
{
|
111 |
+
$productIds[] = (string) $product->productId;
|
112 |
+
}
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
// set Data
|
117 |
+
$this->setRecommendationId((string) $this->_result->getIterator()->domain->recommendationId);
|
118 |
+
|
119 |
+
$this->getSession()->setLastRecommendationId($this->getRecommendationId());
|
120 |
+
$this->getSession()->setLastRecommendationProducts($productIds);
|
121 |
+
|
122 |
+
}
|
123 |
+
|
124 |
+
return $productIds;
|
125 |
+
}
|
126 |
+
|
127 |
/**
|
128 |
* add parameters to url
|
129 |
*
|
157 |
'sessionId' => Mage::getSingleton('core/session')->getSessionId(),
|
158 |
'demo' => Mage::getStoreConfig(self::XML_DEMO_PATH) ? Mage::getStoreConfig(self::XML_DEMO_ITEMS_AMOUNT) : 0,
|
159 |
'widgetTheme' => 'multixml',
|
160 |
+
'rules' => Mage::helper('epoqinterface')->getRulesForSection($this->_section,true)
|
161 |
);
|
162 |
|
163 |
if ($customerId = Mage::getSingleton('customer/session')->getId()) {
|
167 |
return $variables;
|
168 |
}
|
169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
}
|
app/code/community/Flagbit/EpoqInterface/Model/Recommendation/Cart.php
CHANGED
@@ -17,7 +17,8 @@
|
|
17 |
|
18 |
class Flagbit_EpoqInterface_Model_Recommendation_Cart extends Flagbit_EpoqInterface_Model_Recommendation_Abstract {
|
19 |
|
20 |
-
|
|
|
21 |
|
22 |
protected function getParamsArray()
|
23 |
{
|
17 |
|
18 |
class Flagbit_EpoqInterface_Model_Recommendation_Cart extends Flagbit_EpoqInterface_Model_Recommendation_Abstract {
|
19 |
|
20 |
+
/** @var string */
|
21 |
+
protected $_section = 'cart';
|
22 |
|
23 |
protected function getParamsArray()
|
24 |
{
|
app/code/community/Flagbit/EpoqInterface/Model/Recommendation/Product.php
CHANGED
@@ -17,7 +17,8 @@
|
|
17 |
|
18 |
class Flagbit_EpoqInterface_Model_Recommendation_Product extends Flagbit_EpoqInterface_Model_Recommendation_Abstract {
|
19 |
|
20 |
-
|
|
|
21 |
|
22 |
protected function getParamsArray(){
|
23 |
|
17 |
|
18 |
class Flagbit_EpoqInterface_Model_Recommendation_Product extends Flagbit_EpoqInterface_Model_Recommendation_Abstract {
|
19 |
|
20 |
+
/** @var string */
|
21 |
+
protected $_section = 'product';
|
22 |
|
23 |
protected function getParamsArray(){
|
24 |
|
app/code/community/Flagbit/EpoqInterface/Model/Recommendation/User.php
CHANGED
@@ -15,10 +15,9 @@
|
|
15 |
* @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
|
16 |
*/
|
17 |
|
18 |
-
class Flagbit_EpoqInterface_Model_Recommendation_User extends Flagbit_EpoqInterface_Model_Recommendation_Abstract
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
}
|
24 |
|
15 |
* @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
|
16 |
*/
|
17 |
|
18 |
+
class Flagbit_EpoqInterface_Model_Recommendation_User extends Flagbit_EpoqInterface_Model_Recommendation_Abstract
|
19 |
+
{
|
20 |
+
/** @var string */
|
21 |
+
protected $_section = 'user';
|
|
|
22 |
}
|
23 |
|
app/code/community/Flagbit/EpoqInterface/Model/Resource/Eav/Mysql4/Product/Collection.php
CHANGED
@@ -60,7 +60,8 @@ class Flagbit_EpoqInterface_Model_Resource_Eav_Mysql4_Product_Collection
|
|
60 |
$idFieldName,
|
61 |
array('in'=>$productIds)
|
62 |
);
|
63 |
-
|
|
|
64 |
$this->_pageSize = null;
|
65 |
$entity = $this->getEntity();
|
66 |
|
60 |
$idFieldName,
|
61 |
array('in'=>$productIds)
|
62 |
);
|
63 |
+
// TODO: check for saleable and visibility etc.
|
64 |
+
|
65 |
$this->_pageSize = null;
|
66 |
$entity = $this->getEntity();
|
67 |
|
app/code/community/Flagbit/EpoqInterface/etc/config.xml
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
<modules>
|
21 |
<Flagbit_EpoqInterface>
|
22 |
<active>true</active>
|
23 |
-
<version>1.2.
|
24 |
</Flagbit_EpoqInterface>
|
25 |
</modules>
|
26 |
|
20 |
<modules>
|
21 |
<Flagbit_EpoqInterface>
|
22 |
<active>true</active>
|
23 |
+
<version>1.2.7</version>
|
24 |
</Flagbit_EpoqInterface>
|
25 |
</modules>
|
26 |
|
app/design/frontend/base/default/layout/epoqinterface.xml
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
|
13 |
* Public License for more details. *
|
14 |
* *
|
15 |
-
* @version $Id: epoqinterface.xml
|
16 |
* @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
|
17 |
*/
|
18 |
-->
|
@@ -30,8 +30,8 @@
|
|
30 |
</reference>
|
31 |
<reference name="content">
|
32 |
<reference name="product.info.additional">
|
33 |
-
<block type="epoqinterface/
|
34 |
-
|
35 |
</block>
|
36 |
</reference>
|
37 |
</reference>
|
@@ -41,10 +41,12 @@
|
|
41 |
<reference name="head">
|
42 |
<block type="epoqinterface/track_cart" name="epoqinterface.track.cart" before="epoqinterface.recommendation.cart" />
|
43 |
</reference>
|
44 |
-
|
45 |
<reference name="checkout.cart">
|
46 |
<remove name="checkout.cart.crosssell" />
|
47 |
-
<block type="epoqinterface/
|
|
|
|
|
48 |
</reference>
|
49 |
</reference>
|
50 |
</checkout_cart_index>
|
@@ -62,8 +64,13 @@
|
|
62 |
</checkout_onepage_success>
|
63 |
|
64 |
<customer_account_index>
|
|
|
|
|
|
|
65 |
<reference name="customer_account_dashboard">
|
66 |
-
<block type="epoqinterface/
|
|
|
|
|
67 |
</reference>
|
68 |
</customer_account_index>
|
69 |
|
12 |
* TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
|
13 |
* Public License for more details. *
|
14 |
* *
|
15 |
+
* @version $Id: epoqinterface.xml 660 2011-06-10 14:09:05Z weller $
|
16 |
* @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
|
17 |
*/
|
18 |
-->
|
30 |
</reference>
|
31 |
<reference name="content">
|
32 |
<reference name="product.info.additional">
|
33 |
+
<block type="epoqinterface/recommendation" name="epoqinterface.recommendation">
|
34 |
+
<action method="setSection"><section>product</section></action>
|
35 |
</block>
|
36 |
</reference>
|
37 |
</reference>
|
41 |
<reference name="head">
|
42 |
<block type="epoqinterface/track_cart" name="epoqinterface.track.cart" before="epoqinterface.recommendation.cart" />
|
43 |
</reference>
|
44 |
+
<reference name="content">
|
45 |
<reference name="checkout.cart">
|
46 |
<remove name="checkout.cart.crosssell" />
|
47 |
+
<block type="epoqinterface/recommendation" name="epoqinterface.recommendation" as="crosssell">
|
48 |
+
<action method="setSection"><section>cart</section></action>
|
49 |
+
</block>
|
50 |
</reference>
|
51 |
</reference>
|
52 |
</checkout_cart_index>
|
64 |
</checkout_onepage_success>
|
65 |
|
66 |
<customer_account_index>
|
67 |
+
<reference name="head">
|
68 |
+
<block type="epoqinterface/track_user" name="epoqinterface.track.user" before="epoqinterface.recommendation.user" />
|
69 |
+
</reference>
|
70 |
<reference name="customer_account_dashboard">
|
71 |
+
<block type="epoqinterface/recommendation" name="epoqinterface.recommendation" as="info1">
|
72 |
+
<action method="setSection"><section>user</section></action>
|
73 |
+
</block>
|
74 |
</reference>
|
75 |
</customer_account_index>
|
76 |
|
app/design/frontend/default/default/layout/epoqinterface.xml
CHANGED
@@ -30,8 +30,8 @@
|
|
30 |
</reference>
|
31 |
<reference name="content">
|
32 |
<reference name="product.info.additional">
|
33 |
-
<block type="epoqinterface/
|
34 |
-
|
35 |
</block>
|
36 |
</reference>
|
37 |
</reference>
|
@@ -44,7 +44,9 @@
|
|
44 |
<reference name="content">
|
45 |
<reference name="checkout.cart">
|
46 |
<remove name="checkout.cart.crosssell" />
|
47 |
-
<block type="epoqinterface/
|
|
|
|
|
48 |
</reference>
|
49 |
</reference>
|
50 |
</checkout_cart_index>
|
@@ -66,7 +68,9 @@
|
|
66 |
<block type="epoqinterface/track_user" name="epoqinterface.track.user" before="epoqinterface.recommendation.user" />
|
67 |
</reference>
|
68 |
<reference name="customer_account_dashboard">
|
69 |
-
<block type="epoqinterface/
|
|
|
|
|
70 |
</reference>
|
71 |
</customer_account_index>
|
72 |
|
30 |
</reference>
|
31 |
<reference name="content">
|
32 |
<reference name="product.info.additional">
|
33 |
+
<block type="epoqinterface/recommendation" name="epoqinterface.recommendation">
|
34 |
+
<action method="setSection"><section>product</section></action>
|
35 |
</block>
|
36 |
</reference>
|
37 |
</reference>
|
44 |
<reference name="content">
|
45 |
<reference name="checkout.cart">
|
46 |
<remove name="checkout.cart.crosssell" />
|
47 |
+
<block type="epoqinterface/recommendation" name="epoqinterface.recommendation" as="crosssell">
|
48 |
+
<action method="setSection"><section>cart</section></action>
|
49 |
+
</block>
|
50 |
</reference>
|
51 |
</reference>
|
52 |
</checkout_cart_index>
|
68 |
<block type="epoqinterface/track_user" name="epoqinterface.track.user" before="epoqinterface.recommendation.user" />
|
69 |
</reference>
|
70 |
<reference name="customer_account_dashboard">
|
71 |
+
<block type="epoqinterface/recommendation" name="epoqinterface.recommendation" as="info1">
|
72 |
+
<action method="setSection"><section>user</section></action>
|
73 |
+
</block>
|
74 |
</reference>
|
75 |
</customer_account_index>
|
76 |
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>epoqRS</name>
|
4 |
-
<version>1.2.
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
@@ -12,12 +12,11 @@
|
|
12 |
The quick and easy integration of epoq RS makes your Magento sell more within a few hours. You do not have to submit and update your product data and there is no need to connect to any internal systems - all available information - click stream, product data, cart information - are automatically processed for maximum quality recommendations.
|
13 |

|
14 |
Try epoq Recommendation Service - free and without obligation in our 30-day trial version.</description>
|
15 |
-
<notes>-
|
16 |
-
</notes>
|
17 |
<authors><author><name>FlagbitFlagbit GmbH Co. KG</name><user>flagbit</user><email>magento@flagbit.de</email></author></authors>
|
18 |
-
<date>2012-
|
19 |
-
<time>
|
20 |
-
<contents><target name="magecommunity"><dir name="Flagbit"><dir name="EpoqInterface"><dir name="Block"><file name="Abstract.php" hash="8d96815ddd6899c68bb127d1314276c5"/><dir name="Export"><file name="Productlist.php" hash="
|
21 |
<compatible/>
|
22 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
23 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>epoqRS</name>
|
4 |
+
<version>1.2.7</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
12 |
The quick and easy integration of epoq RS makes your Magento sell more within a few hours. You do not have to submit and update your product data and there is no need to connect to any internal systems - all available information - click stream, product data, cart information - are automatically processed for maximum quality recommendations.
|
13 |

|
14 |
Try epoq Recommendation Service - free and without obligation in our 30-day trial version.</description>
|
15 |
+
<notes>- remove duplicate process Cart call on checkout success</notes>
|
|
|
16 |
<authors><author><name>FlagbitFlagbit GmbH Co. KG</name><user>flagbit</user><email>magento@flagbit.de</email></author></authors>
|
17 |
+
<date>2012-09-21</date>
|
18 |
+
<time>07:36:38</time>
|
19 |
+
<contents><target name="magecommunity"><dir name="Flagbit"><dir name="EpoqInterface"><dir name="Block"><file name="Abstract.php" hash="8d96815ddd6899c68bb127d1314276c5"/><dir name="Export"><file name="Productlist.php" hash="b41f5c6c313edd9e9f1bfcaa6dbe848d"/></dir><file name="Head.php" hash="a898e39f4f86c0fcb8555c8d37e7ea2f"/><dir name="Recommendation"><file name="Abstract.php" hash="7fa68d2d34701511f60bbfe22931fd98"/><file name="Ajaxproduct.php" hash="558658147d6227436ff64996798e1fca"/><file name="Cart.php" hash="4bbe3e8abedbf4313db25b941b4f3e51"/><file name="Product.php" hash="94752b4f0837337862bb7d5ad692f21c"/><file name="User.php" hash="27d90f93b2a157bbb999a38136234407"/></dir><file name="Recommendation.php" hash="33875c34bffc6c50b8d894aea542cd63"/><dir name="Result"><file name="List.php" hash="247ba01688e5d9f89cf21fd0d73faf1f"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Version.php" hash="71e3964c13333a57929221aa8e2edf07"/></dir></dir></dir></dir><dir name="Track"><file name="Cart.php" hash="401061ad5b1d3bf279019c0803497178"/><file name="Order.php" hash="5280a5644c6fb62493d6853dafb887e5"/><file name="Product.php" hash="55d1c37666dee51273b590f749142a58"/><file name="User.php" hash="4f13de8744f15cbb2567b1ec0d1564e8"/></dir></dir><dir name="Helper"><file name="Data.php" hash="9d0d756bce4953b90624ba97ae6c63aa"/><file name="Debug.php" hash="7ab1e3121471d87ee59f02d129f308be"/></dir><dir name="Model"><file name="Abstract.php" hash="6d369b3b01ccaa3c796c37484e95a85f"/><dir name="Container"><file name="Product.php" hash="bb25e96a4159584c9701854d51962e52"/><file name="TrackProduct.php" hash="f95bbb60d7344859f71bd13b22d587c7"/></dir><dir name="Customer"><file name="Profiles.php" hash="fbedb6a3259a29db05b2c8783d02957b"/></dir><file name="Observer.php" hash="fa554bcc512f2c7d3b383b16ce41ebee"/><file name="Order.php" hash="9ff6141bb8a1a8b5070570310e1266e5"/><dir name="Recommendation"><file name="Abstract.php" hash="e7a8846905e453f5880b2362a9bbfe90"/><file name="Cart.php" hash="d46124c4c546c69ea64713e9402d6d25"/><file name="Product.php" hash="0e412fe277f5ef9d3e6a493dbfecc3fd"/><file name="User.php" hash="88e6b07cf2d0ba35441d95bc2d87f3d5"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><dir name="Product"><file name="Collection.php" hash="9a302cf7cdfec28370d7c9afa31dac8a"/></dir></dir></dir></dir><file name="Session.php" hash="413f7d31ad2d5878f20a7db7adf5d207"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Attemps.php" hash="c01ebd5c76fd4d51305ed7111326d57d"/><file name="Identifier.php" hash="9e56f688a92a5691a5934e47f42144b6"/><file name="Idletime.php" hash="957ec9d0c4af2d52add60a9765c4e573"/><file name="Timeout.php" hash="95c38625ad50dc44ba2b2d371de1db65"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="6ea3c2de180540e082f0598133355e69"/><file name="RecommendationController.php" hash="004b36c79f662928170177b14985ec2a"/></dir><dir name="documentation"><file name="epoqRS_Magento Installation Guide 1.2.4.pdf" hash="364abe5d2e44ce8aa31d08384dc54e1a"/></dir><dir name="etc"><file name="cache.xml" hash="7ed329563d8914670ae1ddeb399de34d"/><file name="config.xml" hash="b2e761505c31143f46bd49e9ccb64db4"/><file name="system.xml" hash="a5d70a49602cd9d14f542d515cde30bb"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Flagbit_EpoqInterface.xml" hash="8ada99bfdbcc7727ad36339bc11da6ec"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Flagbit_EpoqInterface.csv" hash="222d5eaedfde0639dd26f91c52dc395e"/></dir></target><target name="mageweb"><dir name="js"><dir name="epoqinterface"><file name="epoq_recommendations.js" hash="9797defb9c645a8d4d809c226f29fe26"/><file name="jQuery_init.js" hash="3179f2255b046d5f2e9a71e365287bef"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="epoqinterface.xml" hash="444ae31a25a3fc4f9df6e335a5e2e15d"/></dir><dir name="template"><dir name="epoqinterface"><dir name="recommendation"><file name="cart.phtml" hash="91fe1e5178fd79249dade5391952f9fa"/><file name="list.phtml" hash="c6c9c45f81993542dd182abea8c88f43"/><file name="mailproduct.phtml" hash="a81b28b9bee47f9e63a58ef87b7bb898"/><file name="product.phtml" hash="a558cf1a1dec1de784e7f05405dd83be"/><file name="user.phtml" hash="a3e884ce1f8ca6ab5ed4383e43b044d8"/></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="epoqinterface.xml" hash="444ae31a25a3fc4f9df6e335a5e2e15d"/></dir><dir name="template"><dir name="epoqinterface"><dir name="recommendation"><file name="cart.phtml" hash="71bd2c1724743d995d31df4b96a24e87"/><file name="list.phtml" hash="92158be9c3dddca88cbd202aab666d39"/><file name="product.phtml" hash="a558cf1a1dec1de784e7f05405dd83be"/><file name="user.phtml" hash="90043a07221d19dcb079b86615eafa3b"/></dir></dir></dir></dir></dir></dir></target></contents>
|
20 |
<compatible/>
|
21 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
22 |
</package>
|