Version Notes
Version 3.0.0 - Added child product flow - Flexible total order amount - Out of stock products filter
Version 2.2.0 - Added configurable product flow Version 2.1.1 - Fix bug tracker with SSL
Version 2.1.0 - New Module Architecture - Tracker position (head or before body end) - Use Catalog Price rules - Enable or disable BOM
Version 2.0.2 - Fix multi store category
Version 2.0.1 - Fix bug with flat mode
Version 2.0.0 - Add BOM Tag for UTF-8 - Flow generation lighter
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
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
Version 0.2.0 - Add CSV file - Add Store View filter on products and attributes - Fixed bug on SKU and attibutes type select
Version 0.1.0 - 1st release
Release Info
Developer | Magento Core Team |
Extension | BeezUP_Module_feed_and_tracker |
Version | 3.0.0 |
Comparing to | |
See all releases |
Version 3.0.0
- app/code/community/BeezUp/Block/Tracking.php +97 -0
- app/code/community/BeezUp/Block/Xml.php +331 -0
- app/code/community/BeezUp/Helper/Data.php +68 -0
- app/code/community/BeezUp/Model/Observer.php +32 -0
- app/code/community/BeezUp/Model/Products.php +276 -0
- app/code/community/BeezUp/Model/System/Config/Source/Attributes.php +21 -0
- app/code/community/BeezUp/Model/System/Config/Source/Description.php +15 -0
- app/code/community/BeezUp/Model/System/Config/Source/Montant.php +16 -0
- app/code/community/BeezUp/Model/System/Config/Source/Position.php +14 -0
- app/code/community/BeezUp/Model/System/Config/Source/Price.php +14 -0
- app/code/community/BeezUp/controllers/CatalogController.php +36 -0
- app/code/community/BeezUp/etc/config.xml +122 -0
- app/code/community/BeezUp/etc/system.xml +225 -0
- app/etc/modules/BeezUp.xml +9 -0
- app/locale/en_US/BeezUp.csv +67 -0
- app/locale/es_ES/BeezUp.csv +67 -0
- app/locale/fr_FR/BeezUp.csv +67 -0
- package.xml +36 -0
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Block_Tracking extends Mage_Core_Block_Text
|
4 |
+
{
|
5 |
+
|
6 |
+
public function getStoreId()
|
7 |
+
{
|
8 |
+
return Mage::getStoreConfig('beezup/tracking/storeid');
|
9 |
+
}
|
10 |
+
|
11 |
+
public function getOrderTracker()
|
12 |
+
{
|
13 |
+
if (!$this->getOrder() || !$this->getStoreId()) return '';
|
14 |
+
|
15 |
+
$order = $this->getOrder();
|
16 |
+
$infos = $this->getProductsInformations($order);
|
17 |
+
|
18 |
+
$marge = '';
|
19 |
+
if (Mage::getStoreConfig('beezup/tracking/marge')) {
|
20 |
+
$marge = '&ListProductMargin=' . $infos['margin'] . '';
|
21 |
+
}
|
22 |
+
|
23 |
+
//montant HT sans frais de port
|
24 |
+
if(Mage::getStoreConfig('beezup/tracking/montant')=="HT"){
|
25 |
+
$totalCost = number_format($order->getSubtotal(), 2, '.', '');
|
26 |
+
}
|
27 |
+
//montant HT avec frais de port
|
28 |
+
else if(Mage::getStoreConfig('beezup/tracking/montant')=="HT_port"){
|
29 |
+
$totalCost = number_format($order->getSubtotal()+$order->getShippingInclTax(), 2, '.', '');
|
30 |
+
}
|
31 |
+
//montant TTC sans frais de port
|
32 |
+
else if(Mage::getStoreConfig('beezup/tracking/montant')=="TTC"){
|
33 |
+
$totalCost = number_format($order->getBaseGrandTotal()-$order->getShippingInclTax(), 2, '.', '');
|
34 |
+
}
|
35 |
+
//montant TTC avec frais de port
|
36 |
+
else if(Mage::getStoreConfig('beezup/tracking/montant')=="TTC_port"){
|
37 |
+
$totalCost = number_format($order->getBaseGrandTotal(), 2, '.', '');
|
38 |
+
}
|
39 |
+
|
40 |
+
if(Mage::app()->getStore()->isCurrentlySecure()) {
|
41 |
+
$script = '<img src="https://tracker.beezup.com/SO?StoreId='. trim($this->getStoreId()) .
|
42 |
+
'&OrderMerchantId=' . $order->getIncrementId() .
|
43 |
+
'&TotalCost=' . $totalCost .
|
44 |
+
'&ValidPayement=true'.
|
45 |
+
'&ListProductId='. $infos['id'] .
|
46 |
+
'&ListProductQuantity='. $infos['qty'] .
|
47 |
+
'&ListProductUnitPrice=' . $infos['price'] .
|
48 |
+
$marge .
|
49 |
+
'" />' .
|
50 |
+
PHP_EOL;
|
51 |
+
}
|
52 |
+
else {
|
53 |
+
$script = '<img src="http://tracker.beezup.com/SO?StoreId='. trim($this->getStoreId()) .
|
54 |
+
'&OrderMerchantId=' . $order->getIncrementId() .
|
55 |
+
'&TotalCost=' . $totalCost .
|
56 |
+
'&ValidPayement=true'.
|
57 |
+
'&ListProductId='. $infos['id'] .
|
58 |
+
'&ListProductQuantity='. $infos['qty'] .
|
59 |
+
'&ListProductUnitPrice=' . $infos['price'] .
|
60 |
+
$marge .
|
61 |
+
'" />' .
|
62 |
+
PHP_EOL;
|
63 |
+
}
|
64 |
+
|
65 |
+
if (Mage::getStoreConfigFlag('beezup/tracking/debug')) Mage::log($script, 7, 'beezup.log');
|
66 |
+
|
67 |
+
return $script;
|
68 |
+
}
|
69 |
+
|
70 |
+
public function getProductsInformations($order)
|
71 |
+
{
|
72 |
+
$id = '';
|
73 |
+
$qty = '';
|
74 |
+
$price = '';
|
75 |
+
$margin = '';
|
76 |
+
$items = $order->getAllItems();
|
77 |
+
|
78 |
+
foreach ($items as $itemId => $item) {
|
79 |
+
if(number_format($item->getBasePrice(), 2, '.', '')!=0.00){
|
80 |
+
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
81 |
+
$id .= $item->getProductId() . '|';
|
82 |
+
$qty .= intval($item->getQtyOrdered()) . '|';
|
83 |
+
$price .= number_format($item->getBasePrice(), 2, '.', '') . '|';
|
84 |
+
$margin .= number_format($item->getBasePrice() - $product->getCost(), 2, '.', '') . '|';
|
85 |
+
}
|
86 |
+
}
|
87 |
+
return array('id' => substr($id, 0, -1), 'qty' => substr($qty, 0, -1), 'price' => substr($price, 0, -1), 'margin' => substr($margin, 0, -1));
|
88 |
+
}
|
89 |
+
|
90 |
+
protected function _toHtml()
|
91 |
+
{
|
92 |
+
$this->setCacheLifetime(null);
|
93 |
+
$this->addText($this->getOrderTracker());
|
94 |
+
return parent::_toHtml();
|
95 |
+
}
|
96 |
+
|
97 |
+
}
|
@@ -0,0 +1,331 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Block_Xml extends Mage_Core_Block_Text
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
Xml permet de r�cup�rer tous les produits simples
|
7 |
+
**/
|
8 |
+
public function getXml()
|
9 |
+
{
|
10 |
+
/* Load Model and Helper */
|
11 |
+
$beezup = Mage::getModel('beezup/products');
|
12 |
+
$helper = Mage::helper('beezup');
|
13 |
+
|
14 |
+
/* Initially load the useful elements */
|
15 |
+
$_ht = $helper->getConfig('beezup/flux/ht');
|
16 |
+
$_description = $helper->getConfig('beezup/flux/description');
|
17 |
+
$_tablerates = $helper->getConfig('beezup/flux/tablerates_weight_destination') ? $beezup->getTablerates() : 0;
|
18 |
+
$_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
|
19 |
+
$_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
|
20 |
+
$_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
|
21 |
+
$_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
|
22 |
+
|
23 |
+
/* Build file */
|
24 |
+
$xml = $helper->getConfig('beezup/flux/bom') ? "\xEF\xBB\xBF" : '';
|
25 |
+
$xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
|
26 |
+
|
27 |
+
$products = $beezup->getProducts();
|
28 |
+
|
29 |
+
foreach ($products as $p) {
|
30 |
+
$categories = $beezup->getProductsCategories($p, $_categories);
|
31 |
+
|
32 |
+
if (count($categories)) {
|
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);
|
50 |
+
$xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($p->getWeight(), $_tablerates)));
|
51 |
+
$xml .= $helper->tag($this->__('b_weight'), $helper->currency($p->getWeight()));
|
52 |
+
$xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
|
53 |
+
if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
|
54 |
+
$i = 1;
|
55 |
+
foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
|
56 |
+
foreach ($_attributes as $a) {
|
57 |
+
$value = $p->getResource()->getAttribute($a)->getFrontend()->getValue($p);
|
58 |
+
$xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
|
59 |
+
}
|
60 |
+
|
61 |
+
$xml .= '</product>' . PHP_EOL;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
$xml .= '</catalog>';
|
66 |
+
|
67 |
+
return $xml;
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
Configurable permet de r�cup�rer tous les produits (p�re, enfant et simple)
|
72 |
+
**/
|
73 |
+
public function getXmlConfigurable()
|
74 |
+
{
|
75 |
+
/* Load Model and Helper */
|
76 |
+
$beezup = Mage::getModel('beezup/products');
|
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" : '';
|
90 |
+
$xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
|
91 |
+
|
92 |
+
//r�cup�re tous les produits
|
93 |
+
$products = $beezup->getProducts(true);
|
94 |
+
$childs = $beezup->getConfigurableProducts(true);
|
95 |
+
|
96 |
+
//parcours les produits
|
97 |
+
foreach ($products as $p) {
|
98 |
+
$categories = $beezup->getProductsCategories($p, $_categories);
|
99 |
+
$varationTheme = $beezup->getOptions($p);
|
100 |
+
|
101 |
+
if (count($categories)) {
|
102 |
+
//si l'�l�ment est un p�re, on va traiter ces enfants
|
103 |
+
if(isset($childs[$p->getId()])) {
|
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);
|
117 |
+
|
118 |
+
$xml .= $helper->tag($this->__('parent_or_child'), 'child', 1);
|
119 |
+
$xml .= $helper->tag($this->__('parent_id'), $p->getId());
|
120 |
+
$xml .= $helper->tag($this->__('variation-theme'), $varationTheme, 1);
|
121 |
+
|
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);
|
129 |
+
$xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($c->getWeight(), $_tablerates)));
|
130 |
+
$xml .= $helper->tag($this->__('b_weight'), $helper->currency($c->getWeight()));
|
131 |
+
$xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
|
132 |
+
if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), '');
|
133 |
+
$i = 1;
|
134 |
+
foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
|
135 |
+
foreach ($_attributes as $a) {
|
136 |
+
$value = $c->getResource()->getAttribute($a)->getFrontend()->getValue($c);
|
137 |
+
$xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
|
138 |
+
}
|
139 |
+
$xml .= '</product>' . PHP_EOL;
|
140 |
+
}
|
141 |
+
|
142 |
+
$qty = $beezup->getQty($p->getId());
|
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
|
151 |
+
$xml .= '<product>';
|
152 |
+
$xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
|
153 |
+
$xml .= $helper->tag($this->__('b_sku'), trim($p->getSku()), 1);
|
154 |
+
|
155 |
+
$xml .= $helper->tag($this->__('parent_or_child'), 'parent', 1);
|
156 |
+
$xml .= $helper->tag($this->__('parent_id'), '');
|
157 |
+
$xml .= $helper->tag($this->__('variation-theme'), $varationTheme, 1);
|
158 |
+
|
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);
|
166 |
+
$xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($p->getWeight(), $_tablerates)));
|
167 |
+
$xml .= $helper->tag($this->__('b_weight'), $helper->currency($p->getWeight()));
|
168 |
+
$xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
|
169 |
+
if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
|
170 |
+
$i = 1;
|
171 |
+
foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
|
172 |
+
foreach ($_attributes as $a) {
|
173 |
+
$value = $p->getResource()->getAttribute($a)->getFrontend()->getValue($p);
|
174 |
+
$xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
|
175 |
+
}
|
176 |
+
|
177 |
+
$xml .= '</product>' . PHP_EOL;
|
178 |
+
}
|
179 |
+
}
|
180 |
+
}
|
181 |
+
|
182 |
+
$product_simple = $beezup->getProductsSimple();
|
183 |
+
|
184 |
+
foreach ($product_simple as $p) {
|
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)) {
|
192 |
+
$qty = $beezup->getQty($p->getId());
|
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());
|
201 |
+
$xml .= $helper->tag($this->__('b_sku'), trim($p->getSku()), 1);
|
202 |
+
|
203 |
+
$xml .= $helper->tag($this->__('parent_or_child'), 'simple', 1);
|
204 |
+
$xml .= $helper->tag($this->__('parent_id'), '');
|
205 |
+
$xml .= $helper->tag($this->__('variation-theme'), '', 1);
|
206 |
+
|
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);
|
214 |
+
$xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($p->getWeight(), $_tablerates)));
|
215 |
+
$xml .= $helper->tag($this->__('b_weight'), $helper->currency($p->getWeight()));
|
216 |
+
$xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
|
217 |
+
if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
|
218 |
+
$i = 1;
|
219 |
+
foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
|
220 |
+
foreach ($_attributes as $a) {
|
221 |
+
$value = $p->getResource()->getAttribute($a)->getFrontend()->getValue($p);
|
222 |
+
$xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
|
223 |
+
}
|
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 |
+
**/
|
238 |
+
public function getXmlChild()
|
239 |
+
{
|
240 |
+
/* Load Model and Helper */
|
241 |
+
$beezup = Mage::getModel('beezup/products');
|
242 |
+
$helper = Mage::helper('beezup');
|
243 |
+
|
244 |
+
/* Initially load the useful elements */
|
245 |
+
$_ht = $helper->getConfig('beezup/flux/ht');
|
246 |
+
$_description = $helper->getConfig('beezup/flux/description');
|
247 |
+
$_tablerates = $helper->getConfig('beezup/flux/tablerates_weight_destination') ? $beezup->getTablerates() : 0;
|
248 |
+
$_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
|
249 |
+
$_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
|
250 |
+
$_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
|
251 |
+
$_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
|
252 |
+
|
253 |
+
/* Build file */
|
254 |
+
$xml = $helper->getConfig('beezup/flux/bom') ? "\xEF\xBB\xBF" : '';
|
255 |
+
$xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
|
256 |
+
|
257 |
+
$childs = $beezup->getConfigurableProducts(false);
|
258 |
+
|
259 |
+
foreach ($childs as $c) {
|
260 |
+
|
261 |
+
//r�cup�rer l'image sur le p�re
|
262 |
+
$productParentIds=Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($c->getId());
|
263 |
+
foreach($productParentIds as $productParentId){
|
264 |
+
$productParent = Mage::getModel('catalog/product')->load($productParentId);
|
265 |
+
$image=$productParent->getImage();
|
266 |
+
$categories = $beezup->getProductsCategories($productParent, $_categories);
|
267 |
+
$url = $productParent->getProductUrl();
|
268 |
+
$name = $productParent->getName();
|
269 |
+
$description = $productParent->getData($_description);
|
270 |
+
}
|
271 |
+
|
272 |
+
if(count($categories)){
|
273 |
+
$qty = $beezup->getQty($c->getId());
|
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());
|
282 |
+
$xml .= $helper->tag($this->__('b_sku'), trim($c->getSku()), 1);
|
283 |
+
|
284 |
+
$xml .= $helper->tag($this->__('parent_or_child'), 'child', 1);
|
285 |
+
$xml .= $helper->tag($this->__('parent_id'), $c->getParentId());
|
286 |
+
|
287 |
+
$xml .= $helper->tag($this->__('b_title'), trim($name), 1);
|
288 |
+
$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($description)), 1);
|
289 |
+
$xml .= $helper->tag($this->__('b_product_url'), $url, 1);
|
290 |
+
$xml .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1); //r�cup�re l'image sur le p�re
|
291 |
+
$xml .= $helper->tag($this->__('b_availability'), $stock, 1);
|
292 |
+
$xml .= $helper->tag($this->__('b_qty'), $qty);
|
293 |
+
$xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
|
294 |
+
$xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($c->getWeight(), $_tablerates)));
|
295 |
+
$xml .= $helper->tag($this->__('b_weight'), $helper->currency($c->getWeight()));
|
296 |
+
$xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
|
297 |
+
if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), '');
|
298 |
+
$i = 1;
|
299 |
+
foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
|
300 |
+
foreach ($_attributes as $a) {
|
301 |
+
$value = $c->getResource()->getAttribute($a)->getFrontend()->getValue($c);
|
302 |
+
$xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
|
303 |
+
}
|
304 |
+
|
305 |
+
$xml .= '</product>' . PHP_EOL;
|
306 |
+
}
|
307 |
+
}
|
308 |
+
|
309 |
+
$xml .= '</catalog>';
|
310 |
+
|
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 |
+
}
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
/*
|
7 |
+
* Retrieve product image directory
|
8 |
+
*
|
9 |
+
* @return string
|
10 |
+
*/
|
11 |
+
public function getImageDir()
|
12 |
+
{
|
13 |
+
return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product';
|
14 |
+
}
|
15 |
+
|
16 |
+
/*
|
17 |
+
* Retrieve config path value
|
18 |
+
*
|
19 |
+
* @return string
|
20 |
+
*/
|
21 |
+
public function getConfig($path = '')
|
22 |
+
{
|
23 |
+
if($path) {
|
24 |
+
return Mage::getStoreConfig($path);
|
25 |
+
}
|
26 |
+
return '';
|
27 |
+
}
|
28 |
+
|
29 |
+
/*
|
30 |
+
* Retrieve Remote Address
|
31 |
+
*
|
32 |
+
* @return string
|
33 |
+
*/
|
34 |
+
public function getRemoteAddr()
|
35 |
+
{
|
36 |
+
return $_SERVER['REMOTE_ADDR'];
|
37 |
+
}
|
38 |
+
|
39 |
+
/*
|
40 |
+
* Retrieve tag
|
41 |
+
*
|
42 |
+
* @param string $tagName
|
43 |
+
* @param string $content
|
44 |
+
* @param bool $cdata
|
45 |
+
* @return string
|
46 |
+
*/
|
47 |
+
public function tag($tagName, $content, $cdata = 0)
|
48 |
+
{
|
49 |
+
$result = '<' . $tagName . '>';
|
50 |
+
if ($cdata) $result .= '<![CDATA[';
|
51 |
+
$result .= preg_replace('(^' . $this->__('No') . '$)', '', trim($content));
|
52 |
+
if ($cdata) $result .= ']]>';
|
53 |
+
$result .= '</' . $tagName . '>';
|
54 |
+
return $result;
|
55 |
+
}
|
56 |
+
|
57 |
+
/*
|
58 |
+
* Format currency
|
59 |
+
*
|
60 |
+
* @param float $v
|
61 |
+
* @return string
|
62 |
+
*/
|
63 |
+
public function currency($v)
|
64 |
+
{
|
65 |
+
return number_format($v, 2, '.', '');
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_Observer
|
4 |
+
{
|
5 |
+
|
6 |
+
public function addBlockTracking($observer)
|
7 |
+
{
|
8 |
+
if (!Mage::getStoreConfigFlag('beezup/tracking/active') || !Mage::getStoreConfig('beezup/tracking/storeid')) return '';
|
9 |
+
|
10 |
+
$layout = $observer->getLayout();
|
11 |
+
$blockParent = $layout->getXpath("//block[@name='".Mage::getStoreConfig('beezup/tracking/position')."']");
|
12 |
+
|
13 |
+
if (!$blockParent) return $this;
|
14 |
+
|
15 |
+
$block = $blockParent[0]->addChild('block');
|
16 |
+
$block->addAttribute('type', 'beezup/tracking');
|
17 |
+
$block->addAttribute('name', 'beezup_tracking');
|
18 |
+
$block->addAttribute('as', 'beezup_tracking');
|
19 |
+
}
|
20 |
+
|
21 |
+
public function addOrder($observer)
|
22 |
+
{
|
23 |
+
if (!Mage::getStoreConfigFlag('beezup/tracking/active') || !Mage::getStoreConfig('beezup/tracking/storeid')) return '';
|
24 |
+
|
25 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
|
26 |
+
$beezupBlock = Mage::app()->getFrontController()->getAction()->getLayout()->getBlock('beezup_tracking');
|
27 |
+
if ($order && $beezupBlock) {
|
28 |
+
$beezupBlock->setOrder($order);
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
}
|
@@ -0,0 +1,276 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_Products extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
/*
|
7 |
+
* Retrieve products collection
|
8 |
+
*
|
9 |
+
* @param bool $configurable
|
10 |
+
* @return Mage_Catalog_Model_Resource_Product_Collection?
|
11 |
+
*/
|
12 |
+
public function getProducts($configurable = false)
|
13 |
+
{
|
14 |
+
$products = Mage::getResourceModel('catalog/product_collection')
|
15 |
+
->addAttributeToFilter('status', 1)
|
16 |
+
->addAttributeToFilter('visibility', array('in' => array(Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG, Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)))
|
17 |
+
->addAttributeToFilter('price', array('neq' => 0))
|
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'))
|
26 |
+
->addStoreFilter();
|
27 |
+
|
28 |
+
if($configurable) $products->addAttributeToFilter('type_id', Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE);
|
29 |
+
|
30 |
+
if(Mage::getStoreConfig('beezup/flux/stock')){
|
31 |
+
$products= $products->joinField('inventory_in_stock', 'cataloginventory_stock_item', 'is_in_stock', 'product_id=entity_id','is_in_stock>=0', 'left')
|
32 |
+
->addAttributeToFilter('inventory_in_stock', array('neq' => 0));
|
33 |
+
}
|
34 |
+
|
35 |
+
$attributes = explode(',', Mage::getStoreConfig('beezup/flux/attributes'));
|
36 |
+
foreach ($attributes as $a) $products->addAttributeToSelect($a);
|
37 |
+
|
38 |
+
if (Mage::getStoreConfig('beezup/flux/debug_flux')) $products->setPageSize(10);
|
39 |
+
|
40 |
+
return $products;
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
+
public function getProductsSimple()
|
45 |
+
{
|
46 |
+
$products = Mage::getResourceModel('catalog/product_collection')
|
47 |
+
->addAttributeToFilter('status', 1)
|
48 |
+
->addAttributeToFilter('visibility', array('in' => array(Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG, Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)))
|
49 |
+
->addAttributeToFilter('price', array('neq' => 0))
|
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'))
|
58 |
+
->addStoreFilter();
|
59 |
+
|
60 |
+
$products->addAttributeToFilter('type_id', Mage_Catalog_Model_Product_Type::TYPE_SIMPLE);
|
61 |
+
|
62 |
+
if(Mage::getStoreConfig('beezup/flux/stock')){
|
63 |
+
$products= $products->joinField('inventory_in_stock', 'cataloginventory_stock_item', 'is_in_stock', 'product_id=entity_id','is_in_stock>=0', 'left')
|
64 |
+
->addAttributeToFilter('inventory_in_stock', array('neq' => 0));
|
65 |
+
}
|
66 |
+
|
67 |
+
$attributes = explode(',', Mage::getStoreConfig('beezup/flux/attributes'));
|
68 |
+
foreach ($attributes as $a) $products->addAttributeToSelect($a);
|
69 |
+
|
70 |
+
if (Mage::getStoreConfig('beezup/flux/debug_flux')) $products->setPageSize(10);
|
71 |
+
|
72 |
+
return $products;
|
73 |
+
}
|
74 |
+
|
75 |
+
/*
|
76 |
+
* Retrieve configurable products collection
|
77 |
+
*
|
78 |
+
* @return Mage_Catalog_Model_Resource_Product_Collection?
|
79 |
+
*/
|
80 |
+
public function getConfigurableProducts($config = true) {
|
81 |
+
$products = Mage::getResourceModel('catalog/product_type_configurable_product_collection')
|
82 |
+
->addAttributeToFilter('status', 1)
|
83 |
+
->addAttributeToFilter('price', array('neq' => 0))
|
84 |
+
->addAttributeToSelect('name')
|
85 |
+
->addAttributeToSelect('weight')
|
86 |
+
->addAttributeToSelect('sku')
|
87 |
+
->addAttributeToSelect('price')
|
88 |
+
->addAttributeToSelect('special_price')
|
89 |
+
->addAttributeToSelect('small_image')
|
90 |
+
->addAttributeToSelect('image')
|
91 |
+
->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
|
92 |
+
->addStoreFilter();
|
93 |
+
|
94 |
+
if(Mage::getStoreConfig('beezup/flux/stock')){
|
95 |
+
$products= $products->joinField('inventory_in_stock', 'cataloginventory_stock_item', 'is_in_stock', 'product_id=entity_id','is_in_stock>=0', 'left')
|
96 |
+
->addAttributeToFilter('inventory_in_stock', array('neq' => 0));
|
97 |
+
}
|
98 |
+
|
99 |
+
$attributes = explode(',', Mage::getStoreConfig('beezup/flux/attributes'));
|
100 |
+
foreach ($attributes as $a) $products->addAttributeToSelect($a);
|
101 |
+
|
102 |
+
$productsArray = $products;
|
103 |
+
|
104 |
+
//si on est dans le cas o� on veut les p�res et les fils
|
105 |
+
if($config){
|
106 |
+
$productsArray = array();
|
107 |
+
|
108 |
+
foreach($products as $p) {
|
109 |
+
$productsArray[$p->getParentId()][] = $p;
|
110 |
+
}
|
111 |
+
}
|
112 |
+
|
113 |
+
return $productsArray;
|
114 |
+
}
|
115 |
+
|
116 |
+
/*
|
117 |
+
* Collect options applicable to the configurable product for Varation Theme
|
118 |
+
*
|
119 |
+
* @param Mage_Catalog_Model_Product $product
|
120 |
+
* @return String
|
121 |
+
*/
|
122 |
+
|
123 |
+
public function getOptions($product) {
|
124 |
+
$childs = $this->getConfigurableProducts();
|
125 |
+
|
126 |
+
//si c'est un parent
|
127 |
+
if(isset($childs[$product->getId()])) {
|
128 |
+
$productAttributeOptions = $product->getTypeInstance(true)->getConfigurableAttributesAsArray($product);
|
129 |
+
|
130 |
+
$attributeOptions = array();
|
131 |
+
|
132 |
+
foreach ($productAttributeOptions as $productAttribute) {
|
133 |
+
$attributeOptions[] = ucfirst($productAttribute['attribute_code']);
|
134 |
+
}
|
135 |
+
|
136 |
+
return implode('',$attributeOptions);
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
/*
|
141 |
+
* Retrieve products stock
|
142 |
+
*
|
143 |
+
* @param int $id
|
144 |
+
* @param int $qty
|
145 |
+
* @return int
|
146 |
+
*/
|
147 |
+
public function getQty($productId, $qty = 0)
|
148 |
+
{
|
149 |
+
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($productId);
|
150 |
+
if ($stockItem->getManageStock()) {
|
151 |
+
if ($stockItem->getIsInStock()) {
|
152 |
+
$qty = intval($stockItem->getQty());
|
153 |
+
$qty = ($qty <= 0) ? 0 : $qty;
|
154 |
+
}
|
155 |
+
} else {
|
156 |
+
$qty = 100;
|
157 |
+
}
|
158 |
+
return $qty;
|
159 |
+
}
|
160 |
+
|
161 |
+
/*
|
162 |
+
* Retrieve product shipping amount
|
163 |
+
*
|
164 |
+
* @param float $weight
|
165 |
+
* @param Mage_Shipping_Model_Mysql4_Carrier_Tablerate_Collection $tablerates
|
166 |
+
* @return float
|
167 |
+
*/
|
168 |
+
public function getShippingAmount($weight, $tablerates)
|
169 |
+
{
|
170 |
+
$shipping_amount = 0;
|
171 |
+
|
172 |
+
if ($tablerates && $tablerates instanceof Mage_Shipping_Model_Mysql4_Carrier_Tablerate_Collection) {
|
173 |
+
foreach ($tablerates as $t) {
|
174 |
+
if ($weight <= $t->getConditionValue()) $shipping_amount = $t->getPrice();
|
175 |
+
}
|
176 |
+
} else {
|
177 |
+
$shipping_amount = preg_replace('(\,+)', '.', trim(Mage::getStoreConfig('beezup/flux/ship')));
|
178 |
+
if (!is_numeric($shipping_amount)) $shipping_amount = 0;
|
179 |
+
}
|
180 |
+
return $shipping_amount;
|
181 |
+
}
|
182 |
+
|
183 |
+
/*
|
184 |
+
* Retrieve Tablerates
|
185 |
+
*
|
186 |
+
* @return Mage_Shipping_Model_Mysql4_Carrier_Tablerate_Collection
|
187 |
+
*/
|
188 |
+
public function getTablerates()
|
189 |
+
{
|
190 |
+
return Mage::getResourceModel('shipping/carrier_tablerate_collection')->setOrder('condition_value', 'desc');
|
191 |
+
}
|
192 |
+
|
193 |
+
/*
|
194 |
+
* Retrieve product is in stock
|
195 |
+
*
|
196 |
+
* @param float $qty
|
197 |
+
* @return string
|
198 |
+
*/
|
199 |
+
public function getIsInStock($qty)
|
200 |
+
{
|
201 |
+
return ($qty > 0) ? Mage::helper('beezup')->__('In Stock') : Mage::helper('beezup')->__('Out of Stock');
|
202 |
+
}
|
203 |
+
|
204 |
+
/*
|
205 |
+
* Retrieve product delivery
|
206 |
+
*
|
207 |
+
* @param float $qty
|
208 |
+
* @return string
|
209 |
+
*/
|
210 |
+
public function getDelivery($qty)
|
211 |
+
{
|
212 |
+
return ($qty > 0) ? Mage::getStoreConfig('beezup/flux/days_in') : Mage::getStoreConfig('beezup/flux/days_out');
|
213 |
+
}
|
214 |
+
|
215 |
+
/*
|
216 |
+
* Retrieve store categories as array (recursive)
|
217 |
+
*
|
218 |
+
* @param Varien_Data_Tree_Node_Collection $categories
|
219 |
+
* @param string $parent
|
220 |
+
* @param array $cats
|
221 |
+
* @return string
|
222 |
+
*/
|
223 |
+
public function getCategoriesAsArray($categories, $parent = '', &$cats = array())
|
224 |
+
{
|
225 |
+
foreach ($categories as $c) {
|
226 |
+
$cats[$c['entity_id']] = $parent . $c['name'];
|
227 |
+
|
228 |
+
if (!Mage::helper('catalog/category_flat')->isEnabled()) {
|
229 |
+
if ($childs = $c->getChildren()) {
|
230 |
+
$this->getCategoriesAsArray($childs, $parent . $c['name'] . '||', $cats);
|
231 |
+
}
|
232 |
+
} else {
|
233 |
+
if (isset($c['children_nodes'])) {
|
234 |
+
$this->getCategoriesAsArray($c['children_nodes'], $parent . $c['name'] . '||', $cats);
|
235 |
+
}
|
236 |
+
}
|
237 |
+
}
|
238 |
+
return $cats;
|
239 |
+
}
|
240 |
+
|
241 |
+
/*
|
242 |
+
* Retrieve product categories
|
243 |
+
*
|
244 |
+
* @param Mage_Catalog_Model_Product $product
|
245 |
+
* @param array $categories
|
246 |
+
* @return array
|
247 |
+
*/
|
248 |
+
public function getProductsCategories($product,$categories)
|
249 |
+
{
|
250 |
+
$_categories = $product->getCategoryIds();
|
251 |
+
|
252 |
+
sort($_categories);
|
253 |
+
$result = array();
|
254 |
+
if(count($_categories)) {
|
255 |
+
$_count = 0;
|
256 |
+
foreach($_categories as $c) {
|
257 |
+
if(isset($categories[$c])) {
|
258 |
+
if(count(explode('||',$categories[$c])) > $_count) $result = explode('||',$categories[$c]);
|
259 |
+
$_count = count($result);
|
260 |
+
}
|
261 |
+
}
|
262 |
+
}
|
263 |
+
return $result;
|
264 |
+
}
|
265 |
+
|
266 |
+
/*
|
267 |
+
* Retrieve current store
|
268 |
+
*
|
269 |
+
* @return Mage_Core_Model_Store
|
270 |
+
*/
|
271 |
+
public function getStore()
|
272 |
+
{
|
273 |
+
return Mage::app()->getStore();
|
274 |
+
}
|
275 |
+
|
276 |
+
}
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_System_Config_Source_Attributes
|
4 |
+
{
|
5 |
+
|
6 |
+
public function toOptionArray()
|
7 |
+
{
|
8 |
+
|
9 |
+
$attribute = Mage::getResourceModel('eav/entity_attribute_collection')->setEntityTypeFilter(Mage::getModel('catalog/product')->getResource()->getTypeId());
|
10 |
+
$attributeArray = array();
|
11 |
+
|
12 |
+
foreach ($attribute as $option) {
|
13 |
+
if ($option->getIsUserDefined() && $option->getFrontendLabel()) {
|
14 |
+
$attributeArray[] = array('value' => $option->getAttributeCode(), 'label' => $option->getAttributeCode());
|
15 |
+
}
|
16 |
+
}
|
17 |
+
|
18 |
+
return $attributeArray;
|
19 |
+
}
|
20 |
+
|
21 |
+
}
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_System_Config_Source_Description
|
4 |
+
{
|
5 |
+
|
6 |
+
public function toOptionArray()
|
7 |
+
{
|
8 |
+
return array(
|
9 |
+
array('value' => 'short_description', 'label' => Mage::helper('beezup')->__('Short Description')),
|
10 |
+
array('value' => 'description', 'label' => Mage::helper('beezup')->__('Description')),
|
11 |
+
array('value' => 'meta_description', 'label' => Mage::helper('beezup')->__('Meta Description')),
|
12 |
+
);
|
13 |
+
}
|
14 |
+
|
15 |
+
}
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_System_Config_Source_Montant
|
4 |
+
{
|
5 |
+
|
6 |
+
public function toOptionArray()
|
7 |
+
{
|
8 |
+
return array(
|
9 |
+
array('value' => "HT", 'label' => Mage::helper('beezup')->__('Excl. Tax - without shipping costs')),
|
10 |
+
array('value' => "HT_port", 'label' => Mage::helper('beezup')->__('Excl. Tax - with shipping costs')),
|
11 |
+
array('value' => "TTC", 'label' => Mage::helper('beezup')->__('Incl. Tax - without shipping costs')),
|
12 |
+
array('value' => "TTC_port", 'label' => Mage::helper('beezup')->__('Incl. Tax - with shipping costs')),
|
13 |
+
);
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_System_Config_Source_Position
|
4 |
+
{
|
5 |
+
|
6 |
+
public function toOptionArray()
|
7 |
+
{
|
8 |
+
return array(
|
9 |
+
array('value' => 'head', 'label' => Mage::helper('beezup')->__('Head')),
|
10 |
+
array('value' => 'before_body_end', 'label' => Mage::helper('beezup')->__('Before body end')),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
|
14 |
+
}
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_Model_System_Config_Source_Price
|
4 |
+
{
|
5 |
+
|
6 |
+
public function toOptionArray()
|
7 |
+
{
|
8 |
+
return array(
|
9 |
+
array('value' => 1, 'label' => Mage::helper('beezup')->__('Excl. Tax')),
|
10 |
+
array('value' => 0, 'label' => Mage::helper('beezup')->__('Incl. Tax')),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
|
14 |
+
}
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BeezUp_CatalogController extends Mage_Core_Controller_Front_Action
|
4 |
+
{
|
5 |
+
|
6 |
+
public function preDispatch()
|
7 |
+
{
|
8 |
+
parent::preDispatch();
|
9 |
+
|
10 |
+
$helper = Mage::helper('beezup');
|
11 |
+
|
12 |
+
$_active = $helper->getConfig('beezup/flux/active');
|
13 |
+
$_ip = $helper->getConfig('beezup/flux/ip');
|
14 |
+
$_key = $helper->getConfig('beezup/flux/key');
|
15 |
+
|
16 |
+
if (!$_active || ($_ip && $_ip != $helper->getRemoteAddr()) || ($_key && $this->getRequest()->getParam('key') != $_key)) {
|
17 |
+
$this->norouteAction();
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
+
public function xmlAction()
|
22 |
+
{
|
23 |
+
$this->getResponse()->setBody($this->getLayout()->createBlock('beezup/xml')->setConfigurable(false)->setChildXML(false)->toHtml());
|
24 |
+
}
|
25 |
+
|
26 |
+
public function configurableAction()
|
27 |
+
{
|
28 |
+
$this->getResponse()->setBody($this->getLayout()->createBlock('beezup/xml')->setConfigurable(true)->setChildXML(false)->toHtml());
|
29 |
+
}
|
30 |
+
|
31 |
+
public function childAction()
|
32 |
+
{
|
33 |
+
$this->getResponse()->setBody($this->getLayout()->createBlock('beezup/xml')->setConfigurable(false)->setChildXML(true)->toHtml());
|
34 |
+
}
|
35 |
+
|
36 |
+
}
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<BeezUp>
|
5 |
+
<version>3.0.0</version>
|
6 |
+
</BeezUp>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<blocks>
|
10 |
+
<beezup>
|
11 |
+
<class>BeezUp_Block</class>
|
12 |
+
</beezup>
|
13 |
+
</blocks>
|
14 |
+
<models>
|
15 |
+
<beezup>
|
16 |
+
<class>BeezUp_Model</class>
|
17 |
+
</beezup>
|
18 |
+
</models>
|
19 |
+
<helpers>
|
20 |
+
<beezup>
|
21 |
+
<class>BeezUp_Helper</class>
|
22 |
+
</beezup>
|
23 |
+
</helpers>
|
24 |
+
</global>
|
25 |
+
<frontend>
|
26 |
+
<routers>
|
27 |
+
<beezup>
|
28 |
+
<use>standard</use>
|
29 |
+
<args>
|
30 |
+
<module>BeezUp</module>
|
31 |
+
<frontName>beezup</frontName>
|
32 |
+
</args>
|
33 |
+
</beezup>
|
34 |
+
</routers>
|
35 |
+
<events>
|
36 |
+
<controller_action_layout_generate_blocks_before>
|
37 |
+
<observers>
|
38 |
+
<beezup_visitors_tracking>
|
39 |
+
<type>singleton</type>
|
40 |
+
<class>beezup/observer</class>
|
41 |
+
<method>addBlockTracking</method>
|
42 |
+
</beezup_visitors_tracking>
|
43 |
+
</observers>
|
44 |
+
</controller_action_layout_generate_blocks_before>
|
45 |
+
<checkout_onepage_controller_success_action>
|
46 |
+
<observers>
|
47 |
+
<beezup_sales_tracking>
|
48 |
+
<type>singleton</type>
|
49 |
+
<class>beezup/observer</class>
|
50 |
+
<method>addOrder</method>
|
51 |
+
</beezup_sales_tracking>
|
52 |
+
</observers>
|
53 |
+
</checkout_onepage_controller_success_action>
|
54 |
+
</events>
|
55 |
+
<translate>
|
56 |
+
<modules>
|
57 |
+
<BeezUp>
|
58 |
+
<files>
|
59 |
+
<default>BeezUp.csv</default>
|
60 |
+
</files>
|
61 |
+
</BeezUp>
|
62 |
+
</modules>
|
63 |
+
</translate>
|
64 |
+
</frontend>
|
65 |
+
<adminhtml>
|
66 |
+
<acl>
|
67 |
+
<resources>
|
68 |
+
<admin>
|
69 |
+
<children>
|
70 |
+
<system>
|
71 |
+
<children>
|
72 |
+
<config>
|
73 |
+
<children>
|
74 |
+
<beezup>
|
75 |
+
<title>BeezUP</title>
|
76 |
+
</beezup>
|
77 |
+
</children>
|
78 |
+
</config>
|
79 |
+
</children>
|
80 |
+
</system>
|
81 |
+
</children>
|
82 |
+
</admin>
|
83 |
+
</resources>
|
84 |
+
</acl>
|
85 |
+
<translate>
|
86 |
+
<modules>
|
87 |
+
<BeezUp>
|
88 |
+
<files>
|
89 |
+
<default>BeezUp.csv</default>
|
90 |
+
</files>
|
91 |
+
</BeezUp>
|
92 |
+
</modules>
|
93 |
+
</translate>
|
94 |
+
</adminhtml>
|
95 |
+
<default>
|
96 |
+
<beezup>
|
97 |
+
<tracking>
|
98 |
+
<active>0</active>
|
99 |
+
<storeid></storeid>
|
100 |
+
<marge>0</marge>
|
101 |
+
<debug>0</debug>
|
102 |
+
<montant>HT</montant>
|
103 |
+
<position>head</position>
|
104 |
+
</tracking>
|
105 |
+
<flux>
|
106 |
+
<active>0</active>
|
107 |
+
<debug_flux>1</debug_flux>
|
108 |
+
<ht>1</ht>
|
109 |
+
<vat>19.6</vat>
|
110 |
+
<tablerates_weight_destination>0</tablerates_weight_destination>
|
111 |
+
<days_in>1-2</days_in>
|
112 |
+
<days_out>6-8</days_out>
|
113 |
+
<description>short_description</description>
|
114 |
+
<catalog_rules>0</catalog_rules>
|
115 |
+
<bom>1</bom>
|
116 |
+
<ship></ship>
|
117 |
+
<key></key>
|
118 |
+
<ip></ip>
|
119 |
+
</flux>
|
120 |
+
</beezup>
|
121 |
+
</default>
|
122 |
+
</config>
|
@@ -0,0 +1,225 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<config>
|
2 |
+
<sections>
|
3 |
+
<beezup translate="label" module="beezup">
|
4 |
+
<label>BeezUP</label>
|
5 |
+
<tab>catalog</tab>
|
6 |
+
<sort_order>900</sort_order>
|
7 |
+
<show_in_default>1</show_in_default>
|
8 |
+
<show_in_website>1</show_in_website>
|
9 |
+
<show_in_store>1</show_in_store>
|
10 |
+
<groups>
|
11 |
+
<tracking translate="label">
|
12 |
+
<label>Tracking</label>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v3.0.0) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
|
15 |
+
<sort_order>1</sort_order>
|
16 |
+
<show_in_default>1</show_in_default>
|
17 |
+
<show_in_website>1</show_in_website>
|
18 |
+
<show_in_store>1</show_in_store>
|
19 |
+
<fields>
|
20 |
+
<active translate="label">
|
21 |
+
<label>Enabled</label>
|
22 |
+
<frontend_type>select</frontend_type>
|
23 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
24 |
+
<sort_order>1</sort_order>
|
25 |
+
<show_in_default>1</show_in_default>
|
26 |
+
<show_in_website>1</show_in_website>
|
27 |
+
<show_in_store>1</show_in_store>
|
28 |
+
</active>
|
29 |
+
<storeid translate="label">
|
30 |
+
<label>Store ID</label>
|
31 |
+
<frontend_type>text</frontend_type>
|
32 |
+
<comment><![CDATA[Get your Store ID from My trackers page in your BeezUP account]]></comment>
|
33 |
+
<sort_order>2</sort_order>
|
34 |
+
<show_in_default>1</show_in_default>
|
35 |
+
<show_in_website>1</show_in_website>
|
36 |
+
<show_in_store>1</show_in_store>
|
37 |
+
</storeid>
|
38 |
+
<marge translate="label">
|
39 |
+
<label>Calculate product margin</label>
|
40 |
+
<frontend_type>select</frontend_type>
|
41 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
42 |
+
<comment><![CDATA[The field cost must be indicated for all products]]></comment>
|
43 |
+
<sort_order>3</sort_order>
|
44 |
+
<show_in_default>1</show_in_default>
|
45 |
+
<show_in_website>1</show_in_website>
|
46 |
+
<show_in_store>1</show_in_store>
|
47 |
+
</marge>
|
48 |
+
<montant translate="label">
|
49 |
+
<label>Total orders amount</label>
|
50 |
+
<frontend_type>select</frontend_type>
|
51 |
+
<source_model>beezup/system_config_source_montant</source_model>
|
52 |
+
<sort_order>4</sort_order>
|
53 |
+
<show_in_default>1</show_in_default>
|
54 |
+
<show_in_website>1</show_in_website>
|
55 |
+
<show_in_store>1</show_in_store>
|
56 |
+
</montant>
|
57 |
+
<debug translate="label">
|
58 |
+
<label>Logs</label>
|
59 |
+
<frontend_type>select</frontend_type>
|
60 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
61 |
+
<comment><![CDATA[Enable tracker logs (var/log/beezup.log)]]></comment>
|
62 |
+
<sort_order>5</sort_order>
|
63 |
+
<show_in_default>1</show_in_default>
|
64 |
+
<show_in_website>1</show_in_website>
|
65 |
+
<show_in_store>1</show_in_store>
|
66 |
+
</debug>
|
67 |
+
</fields>
|
68 |
+
</tracking>
|
69 |
+
</groups>
|
70 |
+
<groups>
|
71 |
+
<flux translate="label">
|
72 |
+
<label>Catalog Flow</label>
|
73 |
+
<frontend_type>text</frontend_type>
|
74 |
+
<comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v3.0.0) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
|
75 |
+
<sort_order>2</sort_order>
|
76 |
+
<show_in_default>1</show_in_default>
|
77 |
+
<show_in_website>1</show_in_website>
|
78 |
+
<show_in_store>1</show_in_store>
|
79 |
+
<fields>
|
80 |
+
<active translate="label">
|
81 |
+
<label>Enabled</label>
|
82 |
+
<comment><![CDATA[www.yoursite.com/beezup/catalog/xml<br />www.yoursite.com/beezup/catalog/configurable <br /> www.yoursite.com/beezup/catalog/child]]></comment>
|
83 |
+
<frontend_type>select</frontend_type>
|
84 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
85 |
+
<sort_order>1</sort_order>
|
86 |
+
<show_in_default>1</show_in_default>
|
87 |
+
<show_in_website>1</show_in_website>
|
88 |
+
<show_in_store>1</show_in_store>
|
89 |
+
</active>
|
90 |
+
<debug_flux translate="label">
|
91 |
+
<label>Debug Mode</label>
|
92 |
+
<comment><![CDATA[Limit the number of products]]></comment>
|
93 |
+
<frontend_type>select</frontend_type>
|
94 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
95 |
+
<sort_order>2</sort_order>
|
96 |
+
<show_in_default>1</show_in_default>
|
97 |
+
<show_in_website>1</show_in_website>
|
98 |
+
<show_in_store>1</show_in_store>
|
99 |
+
</debug_flux>
|
100 |
+
<stock translate="label">
|
101 |
+
<label>Filter out of stock products</label>
|
102 |
+
<frontend_type>select</frontend_type>
|
103 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
104 |
+
<sort_order>3</sort_order>
|
105 |
+
<show_in_default>1</show_in_default>
|
106 |
+
<show_in_website>1</show_in_website>
|
107 |
+
<show_in_store>1</show_in_store>
|
108 |
+
</stock>
|
109 |
+
<ship translate="label">
|
110 |
+
<label>Shipping (Incl. Tax)</label>
|
111 |
+
<frontend_type>text</frontend_type>
|
112 |
+
<sort_order>4</sort_order>
|
113 |
+
<show_in_default>1</show_in_default>
|
114 |
+
<show_in_website>1</show_in_website>
|
115 |
+
<show_in_store>1</show_in_store>
|
116 |
+
</ship>
|
117 |
+
<tablerates_weight_destination translate="label">
|
118 |
+
<label>Table Rates</label>
|
119 |
+
<comment><![CDATA[Use Table Rates (only Weight vs. Destination)]]></comment>
|
120 |
+
<frontend_type>select</frontend_type>
|
121 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
122 |
+
<sort_order>5</sort_order>
|
123 |
+
<show_in_default>1</show_in_default>
|
124 |
+
<show_in_website>1</show_in_website>
|
125 |
+
<show_in_store>1</show_in_store>
|
126 |
+
</tablerates_weight_destination>
|
127 |
+
<ht translate="label">
|
128 |
+
<label>Catalog Price</label>
|
129 |
+
<frontend_type>select</frontend_type>
|
130 |
+
<source_model>beezup/system_config_source_price</source_model>
|
131 |
+
<comment><![CDATA[Product Price Excl. Tax or Incl. Tax in catalog]]></comment>
|
132 |
+
<sort_order>6</sort_order>
|
133 |
+
<show_in_default>1</show_in_default>
|
134 |
+
<show_in_website>1</show_in_website>
|
135 |
+
<show_in_store>1</show_in_store>
|
136 |
+
</ht>
|
137 |
+
<vat translate="label">
|
138 |
+
<label>VAT Rates</label>
|
139 |
+
<frontend_type>text</frontend_type>
|
140 |
+
<sort_order>7</sort_order>
|
141 |
+
<show_in_default>1</show_in_default>
|
142 |
+
<show_in_website>1</show_in_website>
|
143 |
+
<show_in_store>1</show_in_store>
|
144 |
+
</vat>
|
145 |
+
<catalog_rules translate="label">
|
146 |
+
<label>Use Catalog Price Rules</label>
|
147 |
+
<comment><![CDATA[Let off if Catalog Price Rules are not used]]></comment>
|
148 |
+
<frontend_type>select</frontend_type>
|
149 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
150 |
+
<sort_order>8</sort_order>
|
151 |
+
<show_in_default>1</show_in_default>
|
152 |
+
<show_in_website>1</show_in_website>
|
153 |
+
<show_in_store>1</show_in_store>
|
154 |
+
</catalog_rules>
|
155 |
+
<days_in translate="label">
|
156 |
+
<label>Delivery Time if Product in Stock</label>
|
157 |
+
<frontend_type>text</frontend_type>
|
158 |
+
<comment><![CDATA[Enter eg 1-2 for 1 to 2 days]]></comment>
|
159 |
+
<sort_order>9</sort_order>
|
160 |
+
<show_in_default>1</show_in_default>
|
161 |
+
<show_in_website>1</show_in_website>
|
162 |
+
<show_in_store>1</show_in_store>
|
163 |
+
</days_in>
|
164 |
+
<days_out translate="label">
|
165 |
+
<label>Delivery Time if Product out of Stock</label>
|
166 |
+
<frontend_type>text</frontend_type>
|
167 |
+
<comment><![CDATA[Enter eg 6-8 for 6 to 8 days]]></comment>
|
168 |
+
<sort_order>10</sort_order>
|
169 |
+
<show_in_default>1</show_in_default>
|
170 |
+
<show_in_website>1</show_in_website>
|
171 |
+
<show_in_store>1</show_in_store>
|
172 |
+
</days_out>
|
173 |
+
<description translate="label">
|
174 |
+
<label>Product description</label>
|
175 |
+
<frontend_type>select</frontend_type>
|
176 |
+
<source_model>beezup/system_config_source_description</source_model>
|
177 |
+
<sort_order>11</sort_order>
|
178 |
+
<show_in_default>1</show_in_default>
|
179 |
+
<show_in_website>1</show_in_website>
|
180 |
+
<show_in_store>1</show_in_store>
|
181 |
+
</description>
|
182 |
+
<attributes translate="label">
|
183 |
+
<label>Specific Attributes</label>
|
184 |
+
<frontend_type>multiselect</frontend_type>
|
185 |
+
<source_model>beezup/system_config_source_attributes</source_model>
|
186 |
+
<sort_order>12</sort_order>
|
187 |
+
<show_in_default>1</show_in_default>
|
188 |
+
<show_in_website>1</show_in_website>
|
189 |
+
<show_in_store>1</show_in_store>
|
190 |
+
</attributes>
|
191 |
+
<ip translate="label">
|
192 |
+
<label>BeezUP Server IP address</label>
|
193 |
+
<comment><![CDATA[Only this IP address will be able to read the flow (leave empty to disable the restriction)]]></comment>
|
194 |
+
<frontend_type>text</frontend_type>
|
195 |
+
<sort_order>13</sort_order>
|
196 |
+
<show_in_default>1</show_in_default>
|
197 |
+
<show_in_website>1</show_in_website>
|
198 |
+
<show_in_store>1</show_in_store>
|
199 |
+
</ip>
|
200 |
+
<key translate="label">
|
201 |
+
<label>Key</label>
|
202 |
+
<frontend_type>text</frontend_type>
|
203 |
+
<comment><![CDATA[Protects the flow by a unique key (Eg: 85ds6f7): www.yoursite.com/beezup/catalog/xml/key/85ds6f7/]]></comment>
|
204 |
+
<sort_order>14</sort_order>
|
205 |
+
<show_in_default>1</show_in_default>
|
206 |
+
<show_in_website>1</show_in_website>
|
207 |
+
<show_in_store>1</show_in_store>
|
208 |
+
</key>
|
209 |
+
<bom translate="label">
|
210 |
+
<label>Bom</label>
|
211 |
+
<frontend_type>select</frontend_type>
|
212 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
213 |
+
<comment><![CDATA[Add Byte Order Mark (BOM)]]></comment>
|
214 |
+
<sort_order>15</sort_order>
|
215 |
+
<show_in_default>1</show_in_default>
|
216 |
+
<show_in_website>1</show_in_website>
|
217 |
+
<show_in_store>1</show_in_store>
|
218 |
+
</bom>
|
219 |
+
|
220 |
+
</fields>
|
221 |
+
</flux>
|
222 |
+
</groups>
|
223 |
+
</beezup>
|
224 |
+
</sections>
|
225 |
+
</config>
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
11 |
+

|
12 |
+
Details :
|
13 |
+

|
14 |
+
This module can be set-up through "System> Configuration > Catalog > BeezUP"
|
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
|
16 |
+
or for only children products :
|
17 |
+
http://www.yourstore.com/beezup/catalog/child
|
18 |
+

|
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
|
21 |
+
Version 2.2.0 - Added configurable product flow Version 2.1.1 - Fix bug tracker with SSL 
|
22 |
+
Version 2.1.0 - New Module Architecture - Tracker position (head or before body end) - Use Catalog Price rules - Enable or disable BOM 
|
23 |
+
Version 2.0.2 - Fix multi store category 
|
24 |
+
Version 2.0.1 - Fix bug with flat mode 
|
25 |
+
Version 2.0.0 - Add BOM Tag for UTF-8 - Flow generation lighter 
|
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 
|
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 
|
28 |
+
Version 0.2.0 - Add CSV file - Add Store View filter on products and attributes - Fixed bug on SKU and attibutes type select 
|
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>
|