BeezUP_Module_feed_and_tracker - Version 3.1.0

Version Notes

New features :
> Cache generation to avoid useless re-generation of the feed
> Grouped products are now exported in the xml and configurable feeds
> Fixed bug to take into account promotion dates

Download this release

Release Info

Developer BeezUP
Extension BeezUP_Module_feed_and_tracker
Version 3.1.0
Comparing to
See all releases


Code changes from version 3.0.0 to 3.1.0

app/code/community/BeezUp/Block/Xml.php CHANGED
@@ -1,5 +1,5 @@
1
<?php
2
-
3
class BeezUp_Block_Xml extends Mage_Core_Block_Text
4
{
5
/**
@@ -33,17 +33,21 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
33
$qty = $beezup->getQty($p->getId());
34
$stock = $beezup->getIsInStock($qty);
35
$shipping = $beezup->getDelivery($qty);
36
- $price = $p->getPrice();
37
- $special_price = $p->getSpecialPrice() ? $p->getSpecialPrice() : $p->getPrice();
38
- $final_price = $_catalog_rules ? $p->getFinalPrice() : $special_price;
39
40
$xml .= '<product>';
41
$xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
42
$xml .= $helper->tag($this->__('b_sku'), trim($p->getSku()), 1);
43
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
44
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
45
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
46
- $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $p->getImage(), 1);
47
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
48
$xml .= $helper->tag($this->__('b_qty'), $qty);
49
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
@@ -61,6 +65,8 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
61
$xml .= '</product>' . PHP_EOL;
62
}
63
}
64
65
$xml .= '</catalog>';
66
@@ -77,13 +83,13 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
77
$helper = Mage::helper('beezup');
78
79
/* Initially load the useful elements */
80
- $_ht = $helper->getConfig('beezup/flux/ht');
81
- $_description = $helper->getConfig('beezup/flux/description');
82
- $_tablerates = $helper->getConfig('beezup/flux/tablerates_weight_destination') ? $beezup->getTablerates() : 0;
83
- $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
84
- $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
85
- $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
86
- $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
87
88
/* Build file */
89
$xml = $helper->getConfig('beezup/flux/bom') ? "\xEF\xBB\xBF" : '';
@@ -104,13 +110,16 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
104
$childrens = $childs[$p->getId()];
105
106
foreach($childrens as $c) {
107
- $qty = $beezup->getQty($c->getId());
108
- $stock = $beezup->getIsInStock($qty);
109
- $shipping = $beezup->getDelivery($qty);
110
- $price = $c->getPrice();
111
- $special_price = $c->getSpecialPrice() ? $c->getSpecialPrice() : $c->getPrice();
112
- $final_price = $_catalog_rules ? $c->getFinalPrice() : $special_price;
113
114
$xml .= '<product>';
115
$xml .= $helper->tag($this->__('b_unique_id'), $c->getId());
116
$xml .= $helper->tag($this->__('b_sku'), trim($c->getSku()), 1);
@@ -122,7 +131,7 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
122
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
123
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
124
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
125
- $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $p->getImage(), 1);
126
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
127
$xml .= $helper->tag($this->__('b_qty'), $qty);
128
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
@@ -143,8 +152,9 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
143
$stock = $beezup->getIsInStock($qty);
144
$shipping = $beezup->getDelivery($qty);
145
$price = $p->getPrice();
146
- $special_price = $p->getSpecialPrice() ? $p->getSpecialPrice() : $p->getPrice();
147
- $final_price = $_catalog_rules ? $p->getFinalPrice() : $special_price;
148
149
150
// si c'est un �l�ment parent
@@ -159,7 +169,7 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
159
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
160
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
161
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
162
- $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $p->getImage(), 1);
163
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
164
$xml .= $helper->tag($this->__('b_qty'), $qty);
165
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
@@ -185,7 +195,6 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
185
186
$prodAttributeSet = Mage::getModel('eav/entity_attribute_set')->load($p->getAttributeSetId())->getAttributeSetName();
187
188
- if($prodAttributeSet=='Default'){
189
$categories = $beezup->getProductsCategories($p, $_categories);
190
191
if (count($categories)) {
@@ -193,8 +202,10 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
193
$stock = $beezup->getIsInStock($qty);
194
$shipping = $beezup->getDelivery($qty);
195
$price = $p->getPrice();
196
- $special_price = $p->getSpecialPrice() ? $p->getSpecialPrice() : $p->getPrice();
197
- $final_price = $_catalog_rules ? $p->getFinalPrice() : $special_price;
198
199
$xml .= '<product>';
200
$xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
@@ -207,7 +218,7 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
207
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
208
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
209
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
210
- $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $p->getImage(), 1);
211
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
212
$xml .= $helper->tag($this->__('b_qty'), $qty);
213
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
@@ -224,14 +235,15 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
224
225
$xml .= '</product>' . PHP_EOL;
226
}
227
- }
228
}
229
-
230
$xml .= '</catalog>';
231
232
return $xml;
233
}
234
235
/**
236
Children permet de r�cup�rer tous les produits enfants
237
**/
@@ -274,8 +286,9 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
274
$stock = $beezup->getIsInStock($qty);
275
$shipping = $beezup->getDelivery($qty);
276
$price = $c->getPrice();
277
- $special_price = $c->getSpecialPrice() ? $c->getSpecialPrice() : $c->getPrice();
278
- $final_price = $_catalog_rules ? $c->getFinalPrice() : $special_price;
279
280
$xml .= '<product>';
281
$xml .= $helper->tag($this->__('b_unique_id'), $c->getId());
@@ -311,21 +324,207 @@ class BeezUp_Block_Xml extends Mage_Core_Block_Text
311
return $xml;
312
}
313
314
- protected function _toHtml()
315
{
316
- $this->setCacheLifetime(null);
317
318
- if($this->getConfigurable()) {
319
- $this->addText($this->getXmlConfigurable());
320
- }
321
- else if($this->getChildXML()){
322
- $this->addText($this->getXmlChild());
323
}
324
- else {
325
- $this->addText($this->getXml());
326
- }
327
328
- return parent::_toHtml();
329
- }
330
331
- }
1
<?php
2
+ ini_set('memory_limit','1024M');
3
class BeezUp_Block_Xml extends Mage_Core_Block_Text
4
{
5
/**
33
$qty = $beezup->getQty($p->getId());
34
$stock = $beezup->getIsInStock($qty);
35
$shipping = $beezup->getDelivery($qty);
36
+ $price = $p->getPrice();
37
+ $final_price = $p->getFinalPrice();
38
+ if (($image = $p->getImage()) == "no_selection" || ($image = $p->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
39
+ $image = $p->getSmallImage();
40
+
41
42
+
43
+
44
$xml .= '<product>';
45
$xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
46
$xml .= $helper->tag($this->__('b_sku'), trim($p->getSku()), 1);
47
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
48
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
49
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
50
+ $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1);
51
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
52
$xml .= $helper->tag($this->__('b_qty'), $qty);
53
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
65
$xml .= '</product>' . PHP_EOL;
66
}
67
}
68
+ $xml .= $this->getAssociatedProducto(false);
69
+
70
71
$xml .= '</catalog>';
72
83
$helper = Mage::helper('beezup');
84
85
/* Initially load the useful elements */
86
+ $_ht = $helper->getConfig('beezup/flux/ht');
87
+ $_description = $helper->getConfig('beezup/flux/description');
88
+ $_tablerates = $helper->getConfig('beezup/flux/tablerates_weight_destination') ? $beezup->getTablerates() : 0;
89
+ $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
90
+ $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
91
+ $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
92
+ $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
93
94
/* Build file */
95
$xml = $helper->getConfig('beezup/flux/bom') ? "\xEF\xBB\xBF" : '';
110
$childrens = $childs[$p->getId()];
111
112
foreach($childrens as $c) {
113
+ $qty = $beezup->getQty($c->getId());
114
+ $stock = $beezup->getIsInStock($qty);
115
+ $shipping = $beezup->getDelivery($qty);
116
+ $price = $c->getPrice();
117
+ $final_price = $c->getFinalPrice();
118
+ if (($image = $c->getImage()) == "no_selection" || ($image = $c->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
119
+ $image = $c->getSmallImage();
120
121
+
122
+
123
$xml .= '<product>';
124
$xml .= $helper->tag($this->__('b_unique_id'), $c->getId());
125
$xml .= $helper->tag($this->__('b_sku'), trim($c->getSku()), 1);
131
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
132
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
133
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
134
+ $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1);
135
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
136
$xml .= $helper->tag($this->__('b_qty'), $qty);
137
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
152
$stock = $beezup->getIsInStock($qty);
153
$shipping = $beezup->getDelivery($qty);
154
$price = $p->getPrice();
155
+ $final_price = $p->getFinalPrice();
156
+ if (($image = $p->getImage()) == "no_selection" || ($image = $p->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
157
+ $image = $p->getSmallImage();
158
159
160
// si c'est un �l�ment parent
169
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
170
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
171
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
172
+ $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1);
173
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
174
$xml .= $helper->tag($this->__('b_qty'), $qty);
175
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
195
196
$prodAttributeSet = Mage::getModel('eav/entity_attribute_set')->load($p->getAttributeSetId())->getAttributeSetName();
197
198
$categories = $beezup->getProductsCategories($p, $_categories);
199
200
if (count($categories)) {
202
$stock = $beezup->getIsInStock($qty);
203
$shipping = $beezup->getDelivery($qty);
204
$price = $p->getPrice();
205
+ $final_price = $p->getFinalPrice();
206
+ if (($image = $p->getImage()) == "no_selection" || ($image = $p->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
207
+ $image = $p->getSmallImage();
208
+
209
210
$xml .= '<product>';
211
$xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
218
$xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
219
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
220
$xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
221
+ $xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1);
222
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
223
$xml .= $helper->tag($this->__('b_qty'), $qty);
224
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
235
236
$xml .= '</product>' . PHP_EOL;
237
}
238
+ //}
239
}
240
+ $xml .= $this->getAssociatedProducto(true);
241
$xml .= '</catalog>';
242
243
return $xml;
244
}
245
246
+
247
/**
248
Children permet de r�cup�rer tous les produits enfants
249
**/
286
$stock = $beezup->getIsInStock($qty);
287
$shipping = $beezup->getDelivery($qty);
288
$price = $c->getPrice();
289
+ $final_price = $c->getFinalPrice();
290
+ if (($image = $c->getImage()) == 'no_selection') // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
291
+ $image = $c->getSmallImage();
292
293
$xml .= '<product>';
294
$xml .= $helper->tag($this->__('b_unique_id'), $c->getId());
324
return $xml;
325
}
326
327
+ /**
328
+ Produit groupes
329
+ **/
330
+
331
+ public function getAssociatedProducto($configurable)
332
{
333
+ /* Load Model and Helper */
334
+ $beezup = Mage::getModel('beezup/products');
335
+ $helper = Mage::helper('beezup');
336
+
337
+ /* Initially load the useful elements */
338
+ $_ht = $helper->getConfig('beezup/flux/ht');
339
+ $_description = $helper->getConfig('beezup/flux/description');
340
+ $_tablerates = $helper->getConfig('beezup/flux/tablerates_weight_destination') ? $beezup->getTablerates() : 0;
341
+ $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
342
+ $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
343
+ $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
344
+ $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
345
+
346
+ $products = $beezup->getGroupedProduct();
347
+
348
+ $buf = $helper->getConfig('beezup/flux/bom') ? "\xEF\xBB\xBF" : '';
349
+ foreach ($products as $product) {
350
+ $associatedProducts = $product->getTypeInstance(true)->getAssociatedProducts($product);
351
+
352
+ $parentCategories = $beezup->getProductsCategories($product, $_categories);
353
+ $parentDesc = $product->getData($_description);
354
+ $parentId = $product->getId();
355
+ $parentImage = $product->getImage();
356
+ $parentUrl = $product->getProductUrl();
357
+ foreach ($associatedProducts as $g) {
358
+ $qty = $beezup->getQty($g->getId());
359
+ $stock = $beezup->getIsInStock($qty);
360
+ $shipping = $beezup->getDelivery($qty);
361
+ $price = $g->getPrice();
362
+ $final_price = $g->getFinalPrice();
363
+
364
+
365
+
366
+ if (($image = $g->getImage()) == "no_selection" || ($image = $g->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
367
+ $image = $g->getSmallImage();
368
+
369
370
+ //DBG
371
+ if (0)
372
+ {
373
+ echo "----------------------------" ."<br/>";
374
+ echo "Name : " .$g->getName() ."<br/>";
375
+ echo "Description : ".$parentDesc ."<br/>";
376
+ echo "Id : " .$g->getId() ."<br/>";
377
+ echo "Parent Id : " .$parentId ."<br/>";
378
+ echo "Url : " .$parentUrl ."<br/>";
379
+ echo "Image : " .$helper->getImageDir().$image ."<br/>";
380
+
381
+
382
+ echo "SKU : " .$g->getSku() ."<br/>";
383
+ echo "Quantity : " .$qty ."<br/>";
384
+ echo "Stock : " .$stock ."<br/>";
385
+ echo "Shipping : " .$shipping ."<br/>";
386
+ echo "price : " .$price ."<br/>";
387
+ echo "finalprice : ".$final_price ."<br/>";
388
+ echo "weight : " .$g->getWeight() ."<br/>";
389
+
390
+ $i = 1;
391
+ foreach ($parentCategories as $v)
392
+ echo "Cat�gorie ".$i." : ".$v."<br/>";
393
+ }
394
+
395
+
396
+ $buf .= "<product>";
397
+ $buf .= $helper->tag($this->__('b_unique_id'), $g->getId());
398
+ $buf .= $helper->tag($this->__('b_sku'), trim($g->getSku()), 1);
399
+ if ($configurable){
400
+ $buf .= $helper->tag($this->__('parent_or_child'), 'grouped_child', 1);
401
+ $buf .= $helper->tag($this->__('parent_id'), $parentId);
402
+ }
403
+ $buf .= $helper->tag($this->__('b_title'), $g->getName()/*trim($name)*/, 1);
404
+ $buf .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($parentDesc)), 1);
405
+ $buf .= $helper->tag($this->__('b_product_url'), $parentUrl, 1);
406
+ $buf .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1); //r�cup�re l'image sur le p�re
407
+ $buf .= $helper->tag($this->__('b_availability'), $stock, 1);
408
+ $buf .= $helper->tag($this->__('b_qty'), $qty);
409
+ $buf .= $helper->tag($this->__('b_delivery'), $shipping, 1);
410
+ $buf .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($g->getWeight(), $_tablerates)));
411
+ $buf .= $helper->tag($this->__('b_weight'), $helper->currency($g->getWeight()));
412
+ $buf .= $helper->tag($this->__('b_price'), $helper->currency($final_price * $_vat));
413
+ if ($price != $final_price) $buf .= $helper->tag($this->__('b_regular_price'), '');
414
+ $i = 1;
415
+ foreach ($parentCategories as $v) $buf .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
416
+ foreach ($_attributes as $a) {
417
+ $value = $g->getResource()->getAttribute($a)->getFrontend()->getValue($g);
418
+ $buf .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
419
+ }
420
+ $buf .= "</product>".PHP_EOL;
421
+ }
422
+ }
423
+ return $buf;
424
+ }
425
+
426
+
427
+ protected function createFile($type, $xmlData)
428
+ {
429
+ $fp = fopen('beezup/tmp/'.$type, 'w');
430
+ if ($fp == false)
431
+ {
432
+ echo 'Fail to create file';
433
}
434
+ fwrite($fp, $xmlData);
435
+ fclose($fp);
436
+ }
437
+
438
+ protected function deleteFeed($type)
439
+ {
440
+ unlink('beezup/tmp/'.$type);
441
+ }
442
+
443
+ protected function needRefreshing($type)
444
+ {
445
+ $helper = Mage::helper('beezup');
446
447
+ $delay = $helper->getConfig('beezup/flux/cachedelay') * 60;
448
+ $nowtime = time();
449
+ $fileTime = filemtime('beezup/tmp/'.$type);
450
+ if (($nowtime - $fileTime) >= $delay)
451
+ return (true);
452
+ else
453
+ return (false);
454
+ }
455
+
456
+ protected function createFolder()
457
+ {
458
+ $helper = Mage::helper('beezup');
459
+ if (!$helper->getConfig('beezup/flux/cachedelay')) // Si option cache desactiv�e, pas besoin du dossier
460
+ return (true);
461
+ if (file_exists('beezup/tmp')) // Si le dossier existe deja, pas besoin de le recr�er
462
+ return (true);
463
+ if (!mkdir('beezup/tmp', 0777, true))
464
+ {
465
+ echo "[ERROR] : Seems we can't create 'beezup' directory inside your root directory."."<br/>"
466
+ ."You can try one of these solutions :"."<br/>"
467
+ ."1 - Create by yourself the beezup/tmp inside your root directory with 777 permissions"."<br/>"
468
+ ."2 - Change the permissions on your root directory (777)"."<br/>"
469
+ ."3 - Change the 'cache delay' option to 'None' inside beezup plugin settings"."<br/>";
470
+ return (false);
471
+ }
472
+ return (true);
473
+ }
474
+
475
+
476
+
477
+ /**
478
+ C'est ici que tout commence ...
479
+ **/
480
481
+ protected function _toHtml()
482
+ {
483
+ $helper = Mage::helper('beezup');
484
+ $this->setCacheLifetime(null);
485
+ //dbg
486
+ /*
487
+ $this->getAssociatedProducto(true);
488
+ return;*/
489
+
490
+ if (!$this->createFolder()) // Si on rencontre des probl�mes de cr�ation de dossier on retourne rien
491
+ return;
492
+ if ($this->getConfigurable()){ // Appel de l'url http://site.com/beezup/catalog/configurable
493
+ if ($this->needRefreshing('configurable')){
494
+ if (file_exists('beezup/tmp/configurable'))
495
+ $this->deleteFeed('configurable');
496
+ $xmlData = $this->getXmlConfigurable();
497
+ $this->addText($xmlData);
498
+ if ($helper->getConfig('beezup/flux/cachedelay') != 0)
499
+ $this->createFile('configurable', $xmlData);
500
+ }
501
+ else
502
+ echo file_get_contents('beezup/tmp/configurable');
503
+ }
504
+ else if ($this->getChildXML()){ // Appel de l'url http://site.com/beezup/catalog/child
505
+ if ($this->needRefreshing('child')){
506
+ if (file_exists('beezup/tmp/child'))
507
+ $this->deleteFeed('child');
508
+ $xmlData = $this->getXmlChild();
509
+ $this->addText($xmlData);
510
+ if ($helper->getConfig('beezup/flux/cachedelay') != 0)
511
+ $this->createFile('child', $xmlData);
512
+ }
513
+ else
514
+ echo file_get_contents('beezup/tmp/child');
515
+ }
516
+ else { // Appel de l'url http://site.com/beezup/catalog/xml
517
+ if ($this->needRefreshing('xml')){
518
+ if (file_exists('beezup/tmp/xml'))
519
+ $this->deleteFeed('xml');
520
+ $xmlData = $this->getXml();
521
+ $this->addText($xmlData);
522
+ if ($helper->getConfig('beezup/flux/cachedelay') != 0)
523
+ $this->createFile('xml', $xmlData);
524
+ }
525
+ else
526
+ echo file_get_contents('beezup/tmp/xml');
527
+ }
528
+ return parent::_toHtml();
529
+ }
530
+ }
app/code/community/BeezUp/Model/Products.php CHANGED
@@ -18,8 +18,9 @@ class BeezUp_Model_Products extends Mage_Core_Model_Abstract
18
->addAttributeToSelect('name')
19
->addAttributeToSelect('weight')
20
->addAttributeToSelect('sku')
21
- ->addAttributeToSelect('price')
22
->addAttributeToSelect('special_price')
23
->addAttributeToSelect('small_image')
24
->addAttributeToSelect('image')
25
->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
@@ -40,6 +41,16 @@ class BeezUp_Model_Products extends Mage_Core_Model_Abstract
40
return $products;
41
}
42
43
44
public function getProductsSimple()
45
{
@@ -50,8 +61,9 @@ class BeezUp_Model_Products extends Mage_Core_Model_Abstract
50
->addAttributeToSelect('name')
51
->addAttributeToSelect('weight')
52
->addAttributeToSelect('sku')
53
- ->addAttributeToSelect('price')
54
->addAttributeToSelect('special_price')
55
->addAttributeToSelect('small_image')
56
->addAttributeToSelect('image')
57
->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
@@ -84,7 +96,8 @@ class BeezUp_Model_Products extends Mage_Core_Model_Abstract
84
->addAttributeToSelect('name')
85
->addAttributeToSelect('weight')
86
->addAttributeToSelect('sku')
87
- ->addAttributeToSelect('price')
88
->addAttributeToSelect('special_price')
89
->addAttributeToSelect('small_image')
90
->addAttributeToSelect('image')
18
->addAttributeToSelect('name')
19
->addAttributeToSelect('weight')
20
->addAttributeToSelect('sku')
21
->addAttributeToSelect('special_price')
22
+ ->addAttributeToSelect('special_from_date')
23
+ ->addAttributeToSelect('special_to_date')
24
->addAttributeToSelect('small_image')
25
->addAttributeToSelect('image')
26
->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
41
return $products;
42
}
43
44
+ public function getGroupedProduct()
45
+ {
46
+ $products = Mage::getModel('catalog/product')
47
+ ->getCollection()
48
+ ->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
49
+ ->addAttributeToFilter('type_id', array('eq' => 'grouped'));
50
+
51
+
52
+ return $products;
53
+ }
54
55
public function getProductsSimple()
56
{
61
->addAttributeToSelect('name')
62
->addAttributeToSelect('weight')
63
->addAttributeToSelect('sku')
64
->addAttributeToSelect('special_price')
65
+ ->addAttributeToSelect('special_from_date')
66
+ ->addAttributeToSelect('special_to_date')
67
->addAttributeToSelect('small_image')
68
->addAttributeToSelect('image')
69
->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
96
->addAttributeToSelect('name')
97
->addAttributeToSelect('weight')
98
->addAttributeToSelect('sku')
99
+ ->addAttributeToSelect('special_from_date')
100
+ ->addAttributeToSelect('special_to_date')
101
->addAttributeToSelect('special_price')
102
->addAttributeToSelect('small_image')
103
->addAttributeToSelect('image')
app/code/community/BeezUp/Model/System/Config/Source/Cache.php ADDED
@@ -0,0 +1,19 @@
1
+ <?php
2
+
3
+ class BeezUp_Model_System_Config_Source_Cache
4
+ {
5
+
6
+ public function toOptionArray()
7
+ {
8
+ return array(
9
+ array('value' => 0, 'label' => Mage::helper('beezup')->__('None')),
10
+ array('value' => 30, 'label' => Mage::helper('beezup')->__('30 minutes')),
11
+ array('value' => 60, 'label' => Mage::helper('beezup')->__('1 hour')),
12
+ array('value' => 120, 'label' => Mage::helper('beezup')->__('2 hours')),
13
+ array('value' => 240, 'label' => Mage::helper('beezup')->__('4 hours')),
14
+ array('value' => 480, 'label' => Mage::helper('beezup')->__('8 hours')),
15
+ array('value' => 720, 'label' => Mage::helper('beezup')->__('12 hours')),
16
+ array('value' => 1440, 'label' => Mage::helper('beezup')->__('24 hours')),
17
+ );
18
+ }
19
+ }
app/code/community/BeezUp/etc/config.xml CHANGED
@@ -113,6 +113,7 @@
113
<description>short_description</description>
114
<catalog_rules>0</catalog_rules>
115
<bom>1</bom>
116
<ship></ship>
117
<key></key>
118
<ip></ip>
113
<description>short_description</description>
114
<catalog_rules>0</catalog_rules>
115
<bom>1</bom>
116
+ <cachedelay>2</cachedelay>
117
<ship></ship>
118
<key></key>
119
<ip></ip>
app/code/community/BeezUp/etc/system.xml CHANGED
@@ -216,6 +216,17 @@
216
<show_in_website>1</show_in_website>
217
<show_in_store>1</show_in_store>
218
</bom>
219
220
</fields>
221
</flux>
216
<show_in_website>1</show_in_website>
217
<show_in_store>1</show_in_store>
218
</bom>
219
+ <cachedelay translate="label">
220
+ <label>Cache delay</label>
221
+ <frontend_type>select</frontend_type>
222
+ <source_model>beezup/system_config_source_cache</source_model>
223
+ <comment><![CDATA[Refresh time of the cache export file in hours]]></comment>
224
+ <sort_order>16</sort_order>
225
+ <show_in_default>1</show_in_default>
226
+ <show_in_website>1</show_in_website>
227
+ <show_in_store>1</show_in_store>
228
+ </cachedelay>
229
+
230
231
</fields>
232
</flux>
app/etc/modules/BeezUp.xml DELETED
@@ -1,9 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <BeezUp>
5
- <active>true</active>
6
- <codePool>community</codePool>
7
- </BeezUp>
8
- </modules>
9
- </config>
app/locale/en_US/BeezUp.csv DELETED
@@ -1,67 +0,0 @@
1
- Short Description,Short Description
2
- Description,Description
3
- Meta Description,Meta Description
4
- Product description,Product description
5
- Excl. Tax,Excl. Tax
6
- Incl. Tax,Incl. Tax
7
- No,No
8
- Yes,Yes
9
- In Stock,In Stock
10
- Out of Stock,Out of Stock
11
- Tracking,Tracking
12
- Catalog Flow,Catalog Flow
13
- Enabled,Enabled
14
- Store ID,Store ID
15
- Calculate product margin,Calculate product margin
16
- VAT Rates,VAT Rates
17
- Logs,Logs
18
- www.yoursite.com/beezup/catalog/xml,www.yoursite.com/beezup/catalog/xml
19
- BeezUP Server IP address,BeezUP Server IP address
20
- Key,Key
21
- Out of stock products,Out of stock products
22
- Shipping (Incl. Tax),Shipping (Incl. Tax)
23
- Catalog Price,Catalog Price
24
- Delivery Time if Product in Stock,Delivery Time if Product in Stock
25
- Delivery Time if Product out of Stock,Delivery Time if Product out of Stock
26
- Specific Attributes,Specific Attributes
27
- The field cost must be indicated for all products,The field cost must be indicated for all products
28
- Product Price and Shipping Excl. Tax or Incl. Tax in catalog,Product Price and Shipping Excl. Tax or Incl. Tax in catalog
29
- Enable tracker logs (var/log/beezup.log),Enable tracker logs (var/log/beezup.log)
30
- Only this IP address will be able to read the flow (leave empty to disable the restriction),Only this IP address will be able to read the flow (leave empty to disable the restriction)
31
- Protects the flow by a unique key (Eg: 85ds6f7): www.yoursite.com/beezup/catalog/xml/key/85ds6f7/,Protects the flow by a unique key (Eg: 85ds6f7): www.yoursite.com/beezup/catalog/xml/key/85ds6f7/
32
- Product Price Excl. Tax or Incl. Tax in catalog,Product Price Excl. Tax or Incl. Tax in catalog
33
- Enter eg 1-2 for 1 to 2 days,Enter eg 1-2 for 1 to 2 days
34
- Enter eg 6-8 for 6 to 8 days,Enter eg 6-8 for 6 to 8 days
35
- Field Separator,Field Separator
36
- Get your Store ID from My trackers page in your BeezUP account,Get your Store ID from My trackers page in your BeezUP account
37
- Only for CSV file,Only for CSV file
38
- Use Catalog Price Rules,Use Catalog Price Rules
39
- Let off if Catalog Price Rules are not used,Let off if Catalog Price Rules are not used
40
- Debug Mode,Debug Mode
41
- Limit the number of products,Limit the number of products
42
- Table Rates,Table Rates
43
- Use Table Rates (only Weight vs. Destination),Use Table Rates (only Weight vs. Destination)
44
- Add Byte Order Mark (BOM),Add Byte Order Mark (BOM)
45
- Tag position,Tag position
46
- Head,Head
47
- Before body end,Before body end
48
- b_unique_id,unique_id
49
- b_sku,sku
50
- b_title,title
51
- b_description,description
52
- b_price,price
53
- b_product_url,product_url
54
- b_product_image,product_image
55
- b_shipping,shipping
56
- b_availability,availability
57
- b_qty,qty
58
- b_delivery,delivery
59
- b_regular_price,regular_price
60
- b_category_%s,category_%s
61
- b_weight,weight
62
- Total orders amount,Total orders amount
63
- Excl. Tax - without shipping costs,Excl. Tax - without shipping costs
64
- Excl. Tax - with shipping costs,Excl. Tax - with shipping costs
65
- Incl. Tax - without shipping costs,Incl. Tax - without shipping costs
66
- Incl. Tax - with shipping costs,Incl. Tax - with shipping costs
67
- Filter out of stock products,Filter out of stock products
app/locale/es_ES/BeezUp.csv DELETED
@@ -1,67 +0,0 @@
1
- Short Description,Descripción corta
2
- Description,Descripción larga
3
- Meta Description,Meta descripción
4
- Product description,Descripción del producto
5
- Excl. Tax,sin IVA
6
- Incl. Tax,con IVA
7
- No,No
8
- Yes,Sí
9
- In Stock,En stock
10
- Out of Stock,No disponible
11
- Tracking,Tracking
12
- Catalog Flow,Fichero catalogo
13
- Enabled,Activar
14
- Store ID,Store ID
15
- Calculate product margin,Calculo del margen
16
- VAT Rates,IVA
17
- Logs,Logs
18
- www.yoursite.com/beezup/catalog/xml,www.tutienda.com/beezup/catalog/xml
19
- BeezUP Server IP address,Dirección IP del servidor BeezUP
20
- Key,Key
21
- Out of stock products,Productos no disponibles
22
- Shipping (Incl. Tax),Gastos de envío (con IVA)
23
- Catalog Price,Precio
24
- Delivery Time if Product in Stock,Plazo de entrega si producto está en stock
25
- Delivery Time if Product out of Stock,Plazo de entrega si producto no está disponible
26
- Specific Attributes,Atributos específicos
27
- The field cost must be indicated for all products,El campo coste tiene que ser rellenado para todos los productos
28
- Product Price and Shipping Excl. Tax or Incl. Tax in catalog,Precio total incluyendo gastos de envío y IVA
29
- Enable tracker logs (var/log/beezup.log),Activar los logs del tracker (var/log/beezup.log)
30
- Only this IP address will be able to read the flow (leave empty to disable the restriction),Sólo esta dirección IP será capaz de leer el fichero con el catalogo de productos (dejar campo vacío para desactivar la restricción)
31
- Protects the flow by a unique key (Eg: 85ds6f7): www.yoursite.com/beezup/catalog/xml/key/85ds6f7/,Proteger vuestro fichero con una contraseña (Ej: 85ds6f7): www.tutienda.com/beezup/catalog/xml/key/85ds6f7/
32
- Product Price Excl. Tax or Incl. Tax in catalog,Precio con o sin IVA inseridos en el catalogo
33
- Enter eg 1-2 for 1 to 2 days,Introduzca 1-2 por ejemplo, para 1 a 2 días
34
- Enter eg 6-8 for 6 to 8 days,Introduzca 6-8 por ejemplo, para 6 a 8 días
35
- Field Separator,Separador CSV
36
- Get your Store ID from My trackers page in your BeezUP account,Recuperar Store ID de la página Mis Trackers en tu cuenta BeezUP
37
- Only for CSV file,Sólo para el fichero CSV
38
- Use Catalog Price Rules,Use Catalog Price Rules
39
- Let off if Catalog Price Rules are not used,Let off if Catalog Price Rules are not used
40
- Debug Mode,Modo Debug
41
- Limit the number of products,Limitar el número de productos
42
- Table Rates,Gastos de envío por peso y destino
43
- Use Table Rates (only Weight vs. Destination),Utilizar el modo por peso y destino para el cálculo de los gastos de envío
44
- Add Byte Order Mark (BOM),Add Byte Order Mark (BOM)
45
- Tag position,Tag position
46
- Head,Head
47
- Before body end,Before body end
48
- b_unique_id,identificador_unico
49
- b_sku,sku
50
- b_title,nombre_producto
51
- b_description,descripcion
52
- b_price,precio
53
- b_product_url,url_producto
54
- b_product_image,url_imagen
55
- b_shipping,gastos_de_envio
56
- b_availability,disponibilidad
57
- b_qty,cantidad_disponible
58
- b_delivery,gastos_de_envio
59
- b_regular_price,promocion
60
- b_category_%s,categoria_%s
61
- b_weight,weight
62
- Total orders amount,Importe del pedido
63
- Excl. Tax - without shipping costs,Sin IVA - sin gastos de envío
64
- Excl. Tax - with shipping costs,Sin IVA - con gastos de envío
65
- Incl. Tax - without shipping costs,Con IVA - sin gastos de envío
66
- Incl. Tax - with shipping costs,Con IVA - con gastos de envío
67
- Filter out of stock products,Filtrar productos sin stock
app/locale/fr_FR/BeezUp.csv DELETED
@@ -1,67 +0,0 @@
1
- Short Description,Description courte
2
- Description,Description longue
3
- Meta Description,Meta description
4
- Product description,Description du produit
5
- Excl. Tax,HT
6
- Incl. Tax,TTC
7
- No,Non
8
- Yes,Oui
9
- In Stock,En stock
10
- Out of Stock,Hors stock
11
- Tracking,Tracking
12
- Catalog Flow,Flux
13
- Enabled,Activer
14
- Store ID,Store ID
15
- Calculate product margin,Calculer la marge
16
- VAT Rates,Taux TVA
17
- Logs,Logs
18
- www.yoursite.com/beezup/catalog/xml,www.votreboutique.com/beezup/catalog/xml
19
- BeezUP Server IP address,Adresse IP du serveur BeezUP
20
- Key,Clé
21
- Out of stock products,Produits hors stock
22
- Shipping (Incl. Tax),Frais de port (TTC)
23
- Catalog Price,Prix catalogue
24
- Delivery Time if Product in Stock,Délais de livraison si produit en stock
25
- Delivery Time if Product out of Stock,Délais de livraison si produit hors stock
26
- Specific Attributes,Attributs spécifiques
27
- The field cost must be indicated for all products,Le champ coût doit être renseigné pour l'ensemble des produits
28
- Product Price and Shipping Excl. Tax or Incl. Tax in catalog,Prix produits et frais de port saisis en HT ou TTC
29
- Enable tracker logs (var/log/beezup.log),Activer les logs du tracker (var/log/beezup.log)
30
- Only this IP address will be able to read the flow (leave empty to disable the restriction),Seule cette adresse IP sera en mesure de lire le flux (laisser vide pour désactiver la restriction)
31
- Protects the flow by a unique key (Eg: 85ds6f7): www.yoursite.com/beezup/catalog/xml/key/85ds6f7/,Protége le flux par une clé unique (Ex : 85ds6f7) : www.votresite.com/beezup/catalog/xml/key/85ds6f7/
32
- Product Price Excl. Tax or Incl. Tax in catalog,Prix produits saisis en HT ou TTC
33
- Enter eg 1-2 for 1 to 2 days,Saisissez par exemple 1-2 pour 1 à 2 jours
34
- Enter eg 6-8 for 6 to 8 days,Saisissez par exemple 6-8 pour 6 à 8 jours
35
- Field Separator,Séparateur de champs
36
- Get your Store ID from My trackers page in your BeezUP account,Récupérez votre Store ID depuis la page 'Mes trackers' de votre compte BeezUP
37
- Only for CSV file,Uniquement pour le fichier CSV
38
- Use Catalog Price Rules,Inclure les régles de prix catalogue
39
- Let off if Catalog Price Rules are not used,Désactiver si les régles de prix catalogue ne sont pas utlisées
40
- Debug Mode,Mode Debug
41
- Limit the number of products,Limiter le nombre de produits
42
- Table Rates,Frais de port poids par destination
43
- Use Table Rates (only Weight vs. Destination),Utiliser le mode tarification poids par destination pour le calcul des frais de port
44
- Add Byte Order Mark (BOM),Ajouter le Byte Order Mark (activer de préférence)
45
- Tag position,Position du tag
46
- Head,En-tête (head)
47
- Before body end,En bas de page (body)
48
- b_unique_id,identifiant_unique
49
- b_sku,sku
50
- b_title,titre
51
- b_description,description
52
- b_price,prix
53
- b_product_url,url_produit
54
- b_product_image,url_image
55
- b_shipping,port
56
- b_availability,disponibilite
57
- b_qty,qte
58
- b_delivery,delai_de_livraison
59
- b_regular_price,prix_barre
60
- b_category_%s,categorie_%s
61
- b_weight,poids
62
- Total orders amount,Montant total des commandes
63
- Excl. Tax - without shipping costs,HT - sans frais de port
64
- Excl. Tax - with shipping costs,HT - avec frais de port
65
- Incl. Tax - without shipping costs,TTC - sans frais de port
66
- Incl. Tax - with shipping costs,TTC - avec frais de port
67
- Filter out of stock products,Filtrer les produits hors stock
package.xml CHANGED
@@ -1,36 +1,52 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>BeezUP_Module_feed_and_tracker</name>
4
- <version>3.0.0</version>
5
<stability>stable</stability>
6
- <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
<channel>community</channel>
8
<extends/>
9
- <summary>BeezUP is a web solution allowing any stores to easily publish their products on more than 1000 networks around the world : Price Comparison Engines, Marketplaces, Affiliation Networks, Cashback websites, etc. More than 15 countries are today covered.</summary>
10
- <description>This module generates the XML catalogue feed and the sales tracker that you need to work with BeezUP&#xD;
11
&#xD;
12
- Details :&#xD;
13
&#xD;
14
- This module can be set-up through "System&gt; Configuration &gt; Catalog &gt; BeezUP"&#xD;
15
- 3 feeds can be used : either http://www.yourstore.com/beezup/catalog/xml or for configured products : http://www.yourstore.com/beezup/catalog/configurable&#xD;
16
or for only children products :&#xD;
17
- http://www.yourstore.com/beezup/catalog/child&#xD;
18
- &#xD;
19
- Mandatory fields are automatically added to the feed, all optional fields and your customized attributes can be added easily through the module configuration page.</description>
20
- <notes>Version 3.0.0 - Added child product flow - Flexible total order amount - Out of stock products filter&#xD;
21
- Version 2.2.0 - Added configurable product flow Version 2.1.1 - Fix bug tracker with SSL &#xD;
22
- Version 2.1.0 - New Module Architecture - Tracker position (head or before body end) - Use Catalog Price rules - Enable or disable BOM &#xD;
23
- Version 2.0.2 - Fix multi store category &#xD;
24
- Version 2.0.1 - Fix bug with flat mode &#xD;
25
- Version 2.0.0 - Add BOM Tag for UTF-8 - Flow generation lighter &#xD;
26
- Version 1.0.1 - New method for categories Tree - Add Table Rates method for Shipping Version 0.2.2 - Fix Bug With extension name - Add debug mod for flow - Edit language files and add setup comments &#xD;
27
- Version 0.2.1 - Bug with product associated to root category only - Remove first ans last space in SKU and product name - Remove description newline &#xD;
28
- Version 0.2.0 - Add CSV file - Add Store View filter on products and attributes - Fixed bug on SKU and attibutes type select &#xD;
29
- Version 0.1.0 - 1st release</notes>
30
- <authors><author><name>Charles BARAT</name><user>auto-converted</user><email>charles@beezup.com</email></author></authors>
31
- <date>2013-05-28</date>
32
- <time>14:51:47</time>
33
- <contents><target name="magelocale"><dir name="en_US"><file name="BeezUp.csv" hash="98a22e98c4da4053f1c4e98d46ce1d61"/></dir><dir name="es_ES"><file name="BeezUp.csv" hash="44f5d4e9d3023ff9289904a0bdabc56f"/></dir><dir name="fr_FR"><file name="BeezUp.csv" hash="b9fb62b5214234682809685d7f732f0f"/></dir></target><target name="magecommunity"><dir name="BeezUp"><dir name="Block"><file name="Tracking.php" hash="455b06ca7208bab816f227980ff97f67"/><file name="Xml.php" hash="2eddc8d5aa9953ab259d2000a3c5b5a2"/></dir><dir name="Helper"><file name="Data.php" hash="1a40dbf0ff07f30c8c6be624da058e0b"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><file name="Attributes.php" hash="4bba8f38763988edf7940df0b8bdce92"/><file name="Description.php" hash="ab4cc7e3c931544aff38d3bc2cd517dd"/><file name="Position.php" hash="bed34c5746369dc5d9ea9f6589ac6c74"/><file name="Price.php" hash="2c07ae280bf2f6e073fa738fad4e03e3"/><file name="Montant.php" hash="3460701acf11007082c88f8ee9bef6fa"/></dir></dir></dir><file name="Observer.php" hash="434ced3bc78542186217c92c5df9e394"/><file name="Products.php" hash="2d26e7205c275ede5ba36e8f73140c76"/></dir><dir name="controllers"><file name="CatalogController.php" hash="cfd53d5adb5c48185cc502ac031d793f"/></dir><dir name="etc"><file name="config.xml" hash="089114858b1752437b374c0bc4b36c42"/><file name="system.xml" hash="c2d5567fba819db2118f80c3d4c40dc0"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="BeezUp.xml" hash="93df32f86c55b57363b9abc62cf68474"/></dir></target></contents>
34
<compatible/>
35
- <dependencies/>
36
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>BeezUP_Module_feed_and_tracker</name>
4
+ <version>3.1.0</version>
5
<stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
7
<channel>community</channel>
8
<extends/>
9
+ <summary>Main features : &#xD;
10
+ - Generate XML catalogue feed&#xD;
11
+ - Install BeezUP sales tracking system</summary>
12
+ <description>&lt;p&gt;BeezUP is a web solution allowing any stores to easily publish their products on more than 1000 networks around the world : Price Comparison Engines, Marketplaces, Affiliation Networks, Cashback websites, etc. More than 15 countries are today covered.&lt;/p&gt;&#xD;
13
&#xD;
14
&#xD;
15
+ &#xD;
16
+ &lt;p&gt;This module generates the XML catalogue feed and the sales tracker that you need to work with BeezUP&lt;/p&gt;&#xD;
17
+ &#xD;
18
+ &#xD;
19
+ &#xD;
20
+ &lt;p&gt;Details :&lt;/p&gt;&#xD;
21
+ &lt;ul&gt;&#xD;
22
+ &lt;li&gt;This module can be set-up through "System&gt; Configuration &gt; Catalog &gt; BeezUP"&lt;/li&gt;&#xD;
23
+ &#xD;
24
+ &lt;li&gt;3 feeds can be used : either http://www.yourstore.com/beezup/catalog/xml or for configured products : http://www.yourstore.com/beezup/catalog/configurable&#xD;
25
or for only children products :&#xD;
26
+ http://www.yourstore.com/beezup/catalog/child&lt;/li&gt;&#xD;
27
+ &#xD;
28
+ &lt;li&gt;Mandatory fields are automatically added to the feed, all optional fields and your customized attributes can be added easily through the module configuration page.&lt;/li&gt;&#xD;
29
+ &lt;/ul&gt;&#xD;
30
+ &#xD;
31
+ &lt;p&gt;&#xD;
32
+ After Set-up, the following files are added :&lt;/p&gt;&#xD;
33
+ &lt;ul&gt;&#xD;
34
+ &lt;li&gt;app/code/community/BeezUp/* &lt;/li&gt;&#xD;
35
+ &lt;li&gt;app/etc/modules/BeezUp.xml &lt;/li&gt;&#xD;
36
+ &lt;li&gt;app/locale/fr_FR/BeezUp.csv &lt;/li&gt;&#xD;
37
+ &lt;li&gt; app/locale/en_US/BeezUp.csv &lt;/li&gt;&#xD;
38
+ &lt;li&gt; app/locale/es_ES/BeezUp.csv &lt;/li&gt;&#xD;
39
+ &lt;/ul&gt;&#xD;
40
+ &#xD;
41
+ &lt;p&gt;By BeezUP &amp; Magentix&lt;/p&gt;</description>
42
+ <notes>New features :&#xD;
43
+ &gt; Cache generation to avoid useless re-generation of the feed&#xD;
44
+ &gt; Grouped products are now exported in the xml and configurable feeds&#xD;
45
+ &gt; Fixed bug to take into account promotion dates</notes>
46
+ <authors><author><name>BeezUP</name><user>BeezUP</user><email>charles@beezup.com</email></author></authors>
47
+ <date>2014-01-16</date>
48
+ <time>10:48:41</time>
49
+ <contents><target name="magecommunity"><dir name="BeezUp"><dir name="Block"><file name="Tracking.php" hash="455b06ca7208bab816f227980ff97f67"/><file name="Xml.php" hash="228383cc221619fc4a0f75220a5931b1"/></dir><dir name="Helper"><file name="Data.php" hash="1a40dbf0ff07f30c8c6be624da058e0b"/></dir><dir name="Model"><file name="Observer.php" hash="434ced3bc78542186217c92c5df9e394"/><file name="Products.php" hash="96e7c480ba7005ae95f51a212af64c8c"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Attributes.php" hash="4bba8f38763988edf7940df0b8bdce92"/><file name="Cache.php" hash="f9d206faa23746ed4f470b1fe6fb37f6"/><file name="Description.php" hash="ab4cc7e3c931544aff38d3bc2cd517dd"/><file name="Montant.php" hash="3460701acf11007082c88f8ee9bef6fa"/><file name="Position.php" hash="bed34c5746369dc5d9ea9f6589ac6c74"/><file name="Price.php" hash="2c07ae280bf2f6e073fa738fad4e03e3"/></dir></dir></dir></dir><dir name="controllers"><file name="CatalogController.php" hash="cfd53d5adb5c48185cc502ac031d793f"/></dir><dir name="etc"><file name="config.xml" hash="b695245cdd203b370ac6c9ec0fd7a5a9"/><file name="system.xml" hash="71be4ae2f024c0433cf045d46044b74f"/></dir></dir></target></contents>
50
<compatible/>
51
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
52
</package>