Version Notes
improved export performance
Download this release
Release Info
Developer | Magento Core Team |
Extension | Channelpilotsolutions_Channelpilot |
Version | 1.0.1 |
Comparing to | |
See all releases |
Code changes from version 1.0.0 to 1.0.1
- app/code/community/Channelpilotsolutions/Channelpilot/Block/Adminhtml/Field/Replacefields.php +90 -0
- app/code/community/Channelpilotsolutions/Channelpilot/Helper/ExportData.php +43 -40
- app/code/community/Channelpilotsolutions/Channelpilot/etc/system.xml +11 -1
- app/locale/de_DE/Channelpilotsolutions_Channelpilot.csv +3 -2
- package.xml +5 -5
app/code/community/Channelpilotsolutions/Channelpilot/Block/Adminhtml/Field/Replacefields.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the GNU General Public License (GPL 3)
|
7 |
+
* that is bundled with this package in the file LICENSE.txt
|
8 |
+
*
|
9 |
+
* DISCLAIMER
|
10 |
+
*
|
11 |
+
* Do not edit or add to this file if you wish to upgrade Channelpilotsolutions_Channelpilot to newer
|
12 |
+
* versions in the future. If you wish to customize Channelpilotsolutions_Channelpilot for your
|
13 |
+
* needs please refer to http://www.channelpilot.com for more information.
|
14 |
+
*
|
15 |
+
* @category Channelpilotsolutions
|
16 |
+
* @package Channelpilotsolutions_Channelpilot
|
17 |
+
* @subpackage block_adminhtml_field
|
18 |
+
* @copyright Copyright (c) 2012 <info@channelpilot.com> - www.channelpilot.com
|
19 |
+
* @author Peter Hoffmann <info@channelpilot.com>
|
20 |
+
* @license <http://www.gnu.org/licenses/> GNU General Public License (GPL 3)
|
21 |
+
* @link http://www.channelpilot.com
|
22 |
+
*/
|
23 |
+
class Channelpilotsolutions_Channelpilot_Block_Adminhtml_Field_Replacefields
|
24 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
25 |
+
{
|
26 |
+
|
27 |
+
private $_standardattributes;
|
28 |
+
|
29 |
+
public function __construct()
|
30 |
+
{
|
31 |
+
$this->addColumn('productattribute', array(
|
32 |
+
'label' => Mage::helper('adminhtml')->__('Data field'),
|
33 |
+
'size' => 30
|
34 |
+
));
|
35 |
+
$this->_addAfter = false;
|
36 |
+
|
37 |
+
parent::__construct();
|
38 |
+
$this->setTemplate('Channelpilotsolutions/array_dropdown.phtml');
|
39 |
+
}
|
40 |
+
|
41 |
+
protected function _renderCellTemplate($columnName)
|
42 |
+
{
|
43 |
+
$this->_standardattributes = "('sku','price','name','description','manufacturer','color','weight')";
|
44 |
+
if (empty($this->_columns[$columnName])) {
|
45 |
+
throw new Exception('Wrong column name specified.');
|
46 |
+
}
|
47 |
+
$column = $this->_columns[$columnName];
|
48 |
+
$inputName = $this->getElement()->getName() . '[#{_id}][' . $columnName . ']';
|
49 |
+
|
50 |
+
if($columnName == 'productattribute')
|
51 |
+
{
|
52 |
+
$rendered = '<select name="'.$inputName.'">';
|
53 |
+
|
54 |
+
$tableName = Mage::getSingleton('core/resource')->getTableName('core_website');
|
55 |
+
$tablePrefix = substr($tableName, 0, strpos($tableName, 'core_website'));
|
56 |
+
$dbConnection = Mage::getSingleton('core/resource') ->getConnection('core_read');
|
57 |
+
|
58 |
+
// Get attribute codes and types
|
59 |
+
$query = "SELECT attribute_code
|
60 |
+
FROM ChannelPilotSolutions_ChannelPilot_eav_attribute
|
61 |
+
WHERE entity_type_id = (SELECT entity_type_id FROM
|
62 |
+
ChannelPilotSolutions_ChannelPilot_eav_entity_type WHERE entity_type_code = 'catalog_product') AND
|
63 |
+
attribute_code NOT IN $this->_standardattributes
|
64 |
+
";
|
65 |
+
$query = str_replace('ChannelPilotSolutions_ChannelPilot_', $tablePrefix, $query);
|
66 |
+
$attributes = $dbConnection->FetchAssoc($query);
|
67 |
+
|
68 |
+
$attributes[]['attribute_code'] = 'qty';
|
69 |
+
$attributes[]['attribute_code'] = 'stock_status';
|
70 |
+
$attributes[]['attribute_code'] = 'cp_color_attribute_id';
|
71 |
+
$attributes[]['attribute_code'] = 'parent_id';
|
72 |
+
|
73 |
+
$attributes[]['attribute_code'] = 'categories';
|
74 |
+
$attributes[]['attribute_code'] = 'cp_image_url';
|
75 |
+
$attributes[]['attribute_code'] = 'cp_product_url';
|
76 |
+
$attributes[]['attribute_code'] = 'cp_additional_image_1';
|
77 |
+
$attributes[]['attribute_code'] = 'cp_additional_image_2';
|
78 |
+
$attributes[]['attribute_code'] = 'cp_additional_image_3';
|
79 |
+
asort($attributes);
|
80 |
+
foreach ($attributes as $attribute) {
|
81 |
+
$rendered .= '<option value="'.$attribute['attribute_code'].'">'.$attribute['attribute_code'].'</option>';
|
82 |
+
}
|
83 |
+
$rendered .= '</select>';
|
84 |
+
return $rendered;
|
85 |
+
}
|
86 |
+
|
87 |
+
return '<input type="text" name="'.$inputName.'" value="#{' . $columnName . '}"/>';
|
88 |
+
}
|
89 |
+
}
|
90 |
+
?>
|
app/code/community/Channelpilotsolutions/Channelpilot/Helper/ExportData.php
CHANGED
@@ -342,15 +342,27 @@ class ExportData
|
|
342 |
if($border<$count[0][0]){
|
343 |
$border=$count[0][0];
|
344 |
}
|
|
|
|
|
|
|
|
|
|
|
345 |
while($counter<=$border){
|
346 |
// Get all entity_ids for all products in the selected store
|
347 |
$query = "
|
348 |
-
SELECT cpe.entity_id, cpe.sku
|
|
|
|
|
|
|
|
|
|
|
349 |
FROM ChannelPilotSolutions_ChannelPilot_catalog_product_entity AS cpe
|
350 |
INNER JOIN ChannelPilotSolutions_ChannelPilot_catalog_product_website as cpw
|
351 |
ON cpw.product_id = cpe.entity_id
|
352 |
WHERE cpw.website_id = ".$this->_siteId."
|
353 |
-
AND IFNULL(cpe.sku, '') != ''
|
|
|
|
|
354 |
";
|
355 |
$query = $this->_applyTablePrefix($query);
|
356 |
// Set fetch mode to numeric to save memory
|
@@ -458,8 +470,8 @@ class ExportData
|
|
458 |
} else {
|
459 |
$query = "
|
460 |
SELECT pi.category_id, ce.path
|
461 |
-
FROM
|
462 |
-
INNER JOIN
|
463 |
WHERE pi.product_id = ".$entity[0]." AND pi.is_parent = 1 AND pi.store_id = ".$this->_storeId." ORDER BY ce.path ASC
|
464 |
";
|
465 |
}
|
@@ -498,34 +510,24 @@ class ExportData
|
|
498 |
|
499 |
// Get stock quantity
|
500 |
// NOTE: stock_id = 1 is the 'Default' stock
|
501 |
-
$query = "
|
502 |
-
SELECT qty, stock_status
|
503 |
-
FROM ChannelPilotSolutions_ChannelPilot_cataloginventory_stock_status
|
504 |
-
WHERE product_id=".$entity[0]."
|
505 |
-
AND website_id=".$this->_siteId."
|
506 |
-
AND stock_id = 1";
|
507 |
-
$query = $this->_applyTablePrefix($query);
|
508 |
-
$stockInfoResult = $this->_dbConnection->query($query);
|
509 |
-
$stockInfo = $stockInfoResult->fetch();
|
510 |
-
if($export_data_fields_codes)
|
511 |
if(strpos($export_data_fields_codes, "'qty'")!=false){
|
512 |
-
if(empty($
|
513 |
{
|
514 |
$product['qty'] = '0';
|
515 |
}
|
516 |
else
|
517 |
{
|
518 |
-
$product['qty'] = $
|
519 |
}
|
520 |
}
|
521 |
if(strpos($export_data_fields_codes, "'stock_status'")!=false){
|
522 |
-
if(empty($
|
523 |
{
|
524 |
$product['stock_status'] = '';
|
525 |
}
|
526 |
else
|
527 |
{
|
528 |
-
$product['stock_status'] = $
|
529 |
}
|
530 |
}
|
531 |
$stockInfoResult = null;
|
@@ -558,33 +560,16 @@ class ExportData
|
|
558 |
}
|
559 |
|
560 |
// Get parent ID
|
561 |
-
$
|
562 |
-
SELECT GROUP_CONCAT(parent_id SEPARATOR ',') AS parent_id
|
563 |
-
FROM ChannelPilotSolutions_ChannelPilot_catalog_product_super_link AS super_link
|
564 |
-
WHERE super_link.product_id=".intval($entity[0])."";
|
565 |
-
$query = $this->_applyTablePrefix($query);
|
566 |
-
$this->_dbConnection->setFetchMode(ZEND_DB::FETCH_NUM);
|
567 |
-
$parentId = $this->_dbConnection->fetchAll($query);
|
568 |
-
if(empty($parentId) != true && strpos($export_data_fields_codes, "'parent_id'")!=false)
|
569 |
{
|
570 |
-
$product['parent_id'] = $
|
571 |
}
|
572 |
|
573 |
// Override price with catalog price rule, if found
|
574 |
-
$
|
575 |
-
SELECT crpp.rule_price
|
576 |
-
FROM ChannelPilotSolutions_ChannelPilot_catalogrule_product_price AS crpp
|
577 |
-
WHERE crpp.rule_date = CURDATE()
|
578 |
-
AND crpp.product_id = ".intval($entity[0])."
|
579 |
-
AND crpp.customer_group_id = 1
|
580 |
-
AND crpp.website_id = ".$this->_siteId;
|
581 |
-
$query = $this->_applyTablePrefix($query);
|
582 |
-
$this->_dbConnection->setFetchMode(ZEND_DB::FETCH_NUM);
|
583 |
-
$rule_price = $this->_dbConnection->fetchAll($query);
|
584 |
-
if(empty($rule_price) != true)
|
585 |
{
|
586 |
// Override price with catalog rule price
|
587 |
-
$product['price'] = $
|
588 |
}
|
589 |
|
590 |
// Calculate image and product URLs
|
@@ -599,13 +584,31 @@ class ExportData
|
|
599 |
$product['cp_image_url'] = $this->_urlPathJoin($product['cp_image_url'], $product_image);
|
600 |
}
|
601 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
$this->xml = new SimpleXMLElement("<product></product>");
|
603 |
echo str_replace('<?xml version="1.0"?>','',$this->toXML($product));
|
604 |
$this->xml = null;
|
605 |
}
|
606 |
$counter=$counter+$selectLimit;
|
607 |
}
|
608 |
-
|
609 |
return ;
|
610 |
}
|
611 |
|
342 |
if($border<$count[0][0]){
|
343 |
$border=$count[0][0];
|
344 |
}
|
345 |
+
|
346 |
+
$parentProductArray = array();
|
347 |
+
$replace_fields= unserialize(Mage::getStoreConfig('channelpilot_section/channelpilot_productfeed/channelpilot_replacefields'));
|
348 |
+
|
349 |
+
|
350 |
while($counter<=$border){
|
351 |
// Get all entity_ids for all products in the selected store
|
352 |
$query = "
|
353 |
+
SELECT cpe.entity_id, cpe.sku,
|
354 |
+
(SELECT parent_id FROM ChannelPilotSolutions_ChannelPilot_catalog_product_super_link WHERE product_id=cpe.entity_id LIMIT 1) as parent,
|
355 |
+
(SELECT count(*) FROM ChannelPilotSolutions_ChannelPilot_catalog_product_super_link WHERE parent_id=cpe.entity_id LIMIT 1) as is_parent,
|
356 |
+
(SELECT qty FROM ChannelPilotSolutions_ChannelPilot_cataloginventory_stock_status WHERE product_id=cpe.entity_id AND website_id=".$this->_siteId." AND stock_id = 1 LIMIT 1) as qty,
|
357 |
+
(SELECT stock_status FROM ChannelPilotSolutions_ChannelPilot_cataloginventory_stock_status WHERE product_id=cpe.entity_id AND website_id=".$this->_siteId." AND stock_id = 1 LIMIT 1) as stock_status,
|
358 |
+
(SELECT crpp.rule_price FROM ChannelPilotSolutions_ChannelPilot_catalogrule_product_price AS crpp WHERE crpp.rule_date = CURDATE() AND crpp.product_id =cpe.entity_id AND crpp.customer_group_id = 1 AND crpp.website_id = ".$this->_siteId.") as cat_price
|
359 |
FROM ChannelPilotSolutions_ChannelPilot_catalog_product_entity AS cpe
|
360 |
INNER JOIN ChannelPilotSolutions_ChannelPilot_catalog_product_website as cpw
|
361 |
ON cpw.product_id = cpe.entity_id
|
362 |
WHERE cpw.website_id = ".$this->_siteId."
|
363 |
+
AND IFNULL(cpe.sku, '') != ''
|
364 |
+
ORDER BY is_parent DESC
|
365 |
+
LIMIT ".$counter.", ".$selectLimit."
|
366 |
";
|
367 |
$query = $this->_applyTablePrefix($query);
|
368 |
// Set fetch mode to numeric to save memory
|
470 |
} else {
|
471 |
$query = "
|
472 |
SELECT pi.category_id, ce.path
|
473 |
+
FROM ChannelPilotSolutions_ChannelPilot_catalog_category_product_index AS pi
|
474 |
+
INNER JOIN ChannelPilotSolutions_ChannelPilot_catalog_category_entity AS ce ON pi.category_id = ce.entity_id
|
475 |
WHERE pi.product_id = ".$entity[0]." AND pi.is_parent = 1 AND pi.store_id = ".$this->_storeId." ORDER BY ce.path ASC
|
476 |
";
|
477 |
}
|
510 |
|
511 |
// Get stock quantity
|
512 |
// NOTE: stock_id = 1 is the 'Default' stock
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
513 |
if(strpos($export_data_fields_codes, "'qty'")!=false){
|
514 |
+
if(empty($entity[4]) == true)
|
515 |
{
|
516 |
$product['qty'] = '0';
|
517 |
}
|
518 |
else
|
519 |
{
|
520 |
+
$product['qty'] = $entity[4];
|
521 |
}
|
522 |
}
|
523 |
if(strpos($export_data_fields_codes, "'stock_status'")!=false){
|
524 |
+
if(empty($entity[5]) == true)
|
525 |
{
|
526 |
$product['stock_status'] = '';
|
527 |
}
|
528 |
else
|
529 |
{
|
530 |
+
$product['stock_status'] = $entity[5];
|
531 |
}
|
532 |
}
|
533 |
$stockInfoResult = null;
|
560 |
}
|
561 |
|
562 |
// Get parent ID
|
563 |
+
if(empty($entity[2]) != true && strpos($export_data_fields_codes, "'parent_id'")!=false)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
564 |
{
|
565 |
+
$product['parent_id'] = $entity[2];
|
566 |
}
|
567 |
|
568 |
// Override price with catalog price rule, if found
|
569 |
+
if(empty($entity[6]) != true)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
{
|
571 |
// Override price with catalog rule price
|
572 |
+
$product['price'] = $entity[6];
|
573 |
}
|
574 |
|
575 |
// Calculate image and product URLs
|
584 |
$product['cp_image_url'] = $this->_urlPathJoin($product['cp_image_url'], $product_image);
|
585 |
}
|
586 |
|
587 |
+
if(!empty($replace_fields)){
|
588 |
+
// PARENT
|
589 |
+
if($entity[3]>0){
|
590 |
+
foreach($replace_fields as $element){
|
591 |
+
if(!empty($element['productattribute']) && array_key_exists($element['productattribute'],$product)){
|
592 |
+
$parentProductArray[$product['entity_id']][$element['productattribute']] = $product[$element['productattribute']];
|
593 |
+
}
|
594 |
+
}
|
595 |
+
} else {
|
596 |
+
// CHILD
|
597 |
+
if($entity[2]!=null){
|
598 |
+
foreach($replace_fields as $element){
|
599 |
+
if(!empty($element['productattribute']) && array_key_exists($element['productattribute'],$product)){
|
600 |
+
$product[$element['productattribute']] = $parentProductArray[$entity[2]][$element['productattribute']];
|
601 |
+
}
|
602 |
+
}
|
603 |
+
}
|
604 |
+
}
|
605 |
+
}
|
606 |
$this->xml = new SimpleXMLElement("<product></product>");
|
607 |
echo str_replace('<?xml version="1.0"?>','',$this->toXML($product));
|
608 |
$this->xml = null;
|
609 |
}
|
610 |
$counter=$counter+$selectLimit;
|
611 |
}
|
|
|
612 |
return ;
|
613 |
}
|
614 |
|
app/code/community/Channelpilotsolutions/Channelpilot/etc/system.xml
CHANGED
@@ -60,7 +60,7 @@
|
|
60 |
</channelpilot_password>
|
61 |
<channelpilot_exportfields>
|
62 |
<label>Select data fields</label>
|
63 |
-
<comment>Select the data fields
|
64 |
<frontend_model>channelpilot_core/adminhtml_field_exportfields</frontend_model>
|
65 |
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
66 |
<sort_order>2</sort_order>
|
@@ -78,6 +78,16 @@
|
|
78 |
<show_in_website>1</show_in_website>
|
79 |
<show_in_store>1</show_in_store>
|
80 |
</channelpilot_specialexportfields>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
</fields>
|
82 |
</channelpilot_productfeed>
|
83 |
<!-- New group -->
|
60 |
</channelpilot_password>
|
61 |
<channelpilot_exportfields>
|
62 |
<label>Select data fields</label>
|
63 |
+
<comment>Select the data fields you want to provide on ChannelPilot. Some product attributes are always included. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)</comment>
|
64 |
<frontend_model>channelpilot_core/adminhtml_field_exportfields</frontend_model>
|
65 |
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
66 |
<sort_order>2</sort_order>
|
78 |
<show_in_website>1</show_in_website>
|
79 |
<show_in_store>1</show_in_store>
|
80 |
</channelpilot_specialexportfields>
|
81 |
+
<channelpilot_replacefields>
|
82 |
+
<label>Product variant data fields</label>
|
83 |
+
<comment>Select the data fields you want to be overwritten by the respective value of the parent article.</comment>
|
84 |
+
<frontend_model>channelpilot_core/adminhtml_field_replacefields</frontend_model>
|
85 |
+
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
86 |
+
<sort_order>4</sort_order>
|
87 |
+
<show_in_default>1</show_in_default>
|
88 |
+
<show_in_website>1</show_in_website>
|
89 |
+
<show_in_store>1</show_in_store>
|
90 |
+
</channelpilot_replacefields>
|
91 |
</fields>
|
92 |
</channelpilot_productfeed>
|
93 |
<!-- New group -->
|
app/locale/de_DE/Channelpilotsolutions_Channelpilot.csv
CHANGED
@@ -7,12 +7,13 @@
|
|
7 |
"Protect your productfeed with a password. For example: 'www.testshop.com/channelpilot?password=12345'","Schützen Sie Ihren Produktkatalog mit einem Passwort. Zum Beispiel: 'www.testshop.com/channelpilot?password=12345'"
|
8 |
"Select data fields","Datenfelder auswählen"
|
9 |
"Data field","Datenfeld"
|
10 |
-
"Select the data fields
|
11 |
"Create static data fields","Statische Datenfelder erstellen"
|
12 |
"Data field name","Datenfeld Name"
|
13 |
"Data field value","Datenfeld Wert"
|
14 |
"Set up additional data fields. These fields have for every product the same value. E.g. for additional delivery costs.","Richten Sie zusätzliche Datenfelder ein, die für jedes Produkt einen statischen Wert haben. Z.B. für zusätzliche Versandkosten."
|
15 |
-
|
|
|
16 |
|
17 |
|
18 |
"Salestracking","Salestracking"
|
7 |
"Protect your productfeed with a password. For example: 'www.testshop.com/channelpilot?password=12345'","Schützen Sie Ihren Produktkatalog mit einem Passwort. Zum Beispiel: 'www.testshop.com/channelpilot?password=12345'"
|
8 |
"Select data fields","Datenfelder auswählen"
|
9 |
"Data field","Datenfeld"
|
10 |
+
"Select the data fields you want to provide on ChannelPilot. Some product attributes are always included. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)","Wählen Sie die Datenfelder aus, die Sie ChannelPilot bereitstellen möchten. Einige Datenfelder sind immer im Produktkatalog enthalten. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)"
|
11 |
"Create static data fields","Statische Datenfelder erstellen"
|
12 |
"Data field name","Datenfeld Name"
|
13 |
"Data field value","Datenfeld Wert"
|
14 |
"Set up additional data fields. These fields have for every product the same value. E.g. for additional delivery costs.","Richten Sie zusätzliche Datenfelder ein, die für jedes Produkt einen statischen Wert haben. Z.B. für zusätzliche Versandkosten."
|
15 |
+
"Product variant data fields","Variantenfelder überschreiben"
|
16 |
+
"Select the data fields you want to be overwritten by the respective value of the parent article.","Wählen Sie hier die Felder aus, deren Werte bei einem Variantenartikel mit dem entsprechenden Werten des jeweiligen Stammartikels überschrieben werden sollen."
|
17 |
|
18 |
|
19 |
"Salestracking","Salestracking"
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Channelpilotsolutions_Channelpilot</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
|
7 |
<channel>community</channel>
|
@@ -21,11 +21,11 @@
|
|
21 |
<li><b>BEST QUALITY:</b> ChannelPilot is "made in Germany" and is exclusively developed in-house by experienced software-engineers.</li>
|
22 |
</ul>
|
23 |
Just get more information about ChannelPilot : <a href="http://www.channelpilot.com">www.channelpilot.com</a></description>
|
24 |
-
<notes>
|
25 |
<authors><author><name>ChannelPilot Solutions GmbH</name><user>auto-converted</user><email>info@channelpilot.com</email></author></authors>
|
26 |
-
<date>2013-
|
27 |
-
<time>
|
28 |
-
<contents><target name="magecommunity"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><dir name="Adminhtml"><dir name="Model"><dir name="Articlenumber"><file name="Values.php" hash="4a920f99cf9443aaa2f8841d853cebec"/></dir><dir name="Cookiemode"><file name="Values.php" hash="ff8d69f41d7df21707d749305c20e935"/></dir></dir></dir><dir name="Block"><dir name="Adminhtml"><dir name="Field"><file name="Exportfields.php" hash="c3a73f607cc6fe8f249d8fef7d49cfeb"/><file name="Specialfields.php" hash="33842132f2ff85227efcaff836dd4c1c"/><file name="Trackingkeys.php" hash="94c7d54b134a71f0080b3bbd52dac475"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a50cceaf7f52911c35979cf4b5beec22"/><file name="ExportData.php" hash="
|
29 |
<compatible/>
|
30 |
<dependencies/>
|
31 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Channelpilotsolutions_Channelpilot</name>
|
4 |
+
<version>1.0.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
|
7 |
<channel>community</channel>
|
21 |
<li><b>BEST QUALITY:</b> ChannelPilot is "made in Germany" and is exclusively developed in-house by experienced software-engineers.</li>
|
22 |
</ul>
|
23 |
Just get more information about ChannelPilot : <a href="http://www.channelpilot.com">www.channelpilot.com</a></description>
|
24 |
+
<notes>improved export performance</notes>
|
25 |
<authors><author><name>ChannelPilot Solutions GmbH</name><user>auto-converted</user><email>info@channelpilot.com</email></author></authors>
|
26 |
+
<date>2013-04-29</date>
|
27 |
+
<time>12:42:50</time>
|
28 |
+
<contents><target name="magecommunity"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><dir name="Adminhtml"><dir name="Model"><dir name="Articlenumber"><file name="Values.php" hash="4a920f99cf9443aaa2f8841d853cebec"/></dir><dir name="Cookiemode"><file name="Values.php" hash="ff8d69f41d7df21707d749305c20e935"/></dir></dir></dir><dir name="Block"><dir name="Adminhtml"><dir name="Field"><file name="Exportfields.php" hash="c3a73f607cc6fe8f249d8fef7d49cfeb"/><file name="Replacefields.php" hash="03403b9cbdad48fa8ca2b28d7440143c"/><file name="Specialfields.php" hash="33842132f2ff85227efcaff836dd4c1c"/><file name="Trackingkeys.php" hash="94c7d54b134a71f0080b3bbd52dac475"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a50cceaf7f52911c35979cf4b5beec22"/><file name="ExportData.php" hash="8b5088f7ffa12b5c5eca38c286861460"/></dir><dir name="controllers"><file name="IndexController.php" hash="6c691bd30403c6340248e6f9b2cedea8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="ee4e49b9b64d99fce70b618ac7349a9d"/><file name="config.xml" hash="c2217ae3c7f5575d8eeed0dac4d3c5d4"/><file name="system.xml" hash="d3ffb78c9469d44b61dc85be2480abc6"/></dir></dir><dir name="Clicktracking"><dir name="etc"><file name="config.xml" hash="1ee288f21630d1873a4f6ebe37c24f10"/></dir></dir><dir name="Salestracking"><dir name="etc"><file name="config.xml" hash="92b7c6e930b2d241d8b095635a10519e"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Channelpilotsolutions_Channelpilot.xml" hash="a64f082fbb324d006d05566a4eb63d3f"/><file name="Channelpilotsolutions_Clicktracking.xml" hash="0e9a283fcb2b0bbc40ed3f3ad960624d"/><file name="Channelpilotsolutions_Salestracking.xml" hash="226c8a5105db455556e450a6b49d8eb2"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="clicktracking.xml" hash="8e97b079e03fd90750ee52b76e3eae08"/><file name="salestracking.xml" hash="2f356111cb7f06f2a7dd39157cfc3a6b"/></dir></dir><dir name="template"><dir name="Channelpilotsolutions"><file name="clicktracking.phtml" hash="54b5c464b923057e4cfd6ed1e27c6597"/><file name="salestracking.phtml" hash="43e715b7b06467e4278aef571420768c"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="Channelpilotsolutions"><file name="array_dropdown.phtml" hash="cb1230cd8a92ce0a0961f71b396736ec"/></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="channelpilot.xml" hash="ee23fe0af5078ab653c5341116c21ddb"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><file name="icon.css" hash="ee075d8ba7c5c45dcb8c87ba1205eaa0"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="9bae5f67a38ac2aba098dfc1ed7e4b21"/></dir><dir name="de_CH"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir><dir name="de_AT"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir></target></contents>
|
29 |
<compatible/>
|
30 |
<dependencies/>
|
31 |
</package>
|