Version Notes
* Added support for flat catalog mode.
Download this release
Release Info
Developer | Christiaan de Ridder |
Extension | Tritac_ChannelEngine |
Version | 2.1.3 |
Comparing to | |
See all releases |
Code changes from version 2.1.2 to 2.1.3
app/code/community/Tritac/ChannelEngine/Model/Observer.php
CHANGED
@@ -26,6 +26,8 @@ class Tritac_ChannelEngine_Model_Observer
|
|
26 |
*/
|
27 |
protected $_helper = null;
|
28 |
|
|
|
|
|
29 |
/**
|
30 |
* Retrieve and validate API config
|
31 |
* Initialize API client
|
@@ -478,7 +480,7 @@ class Tritac_ChannelEngine_Model_Observer
|
|
478 |
* Note: products with undefined website id will not be export.
|
479 |
*/
|
480 |
foreach(Mage::app()->getStores() as $_store) {
|
481 |
-
|
482 |
$path = Mage::getBaseDir('media') . DS . 'channelengine' . DS;
|
483 |
$storeConfig = $this->_helper->getConfig($_store->getId());
|
484 |
$name = $storeConfig['general']['tenant'].'_products.xml';
|
@@ -515,6 +517,16 @@ class Tritac_ChannelEngine_Model_Observer
|
|
515 |
/**
|
516 |
* Retrieve product collection with all visible attributes
|
517 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
$attributesToSelect = array('name', 'description', 'image', 'url_key', 'price', 'cost', 'visibility', 'msrp');
|
519 |
$visibleAttributes = array();
|
520 |
$attributes = Mage::getSingleton('eav/config')
|
@@ -528,7 +540,9 @@ class Tritac_ChannelEngine_Model_Observer
|
|
528 |
foreach( $attribute->getSource()->getAllOptions(false) as $option ) {
|
529 |
$visibleAttributes[$code]['values'][$option['value']] = $option['label'];
|
530 |
}
|
531 |
-
$attributesToSelect
|
|
|
|
|
532 |
}
|
533 |
}
|
534 |
|
@@ -536,8 +550,14 @@ class Tritac_ChannelEngine_Model_Observer
|
|
536 |
$attributesToSelect[] = $this->_config[$storeId]['feed']['gtin'];
|
537 |
}
|
538 |
|
539 |
-
$
|
540 |
-
->
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
->addFieldToFilter('type_id', 'simple')
|
542 |
->addStoreFilter($_store)
|
543 |
->addAttributeToFilter('status', 1)
|
@@ -557,6 +577,7 @@ class Tritac_ChannelEngine_Model_Observer
|
|
557 |
)
|
558 |
->group('e.entity_id');
|
559 |
|
|
|
560 |
Mage::getSingleton('core/resource_iterator')->walk(
|
561 |
$collection->getSelect(),
|
562 |
array(array($this, 'callbackGenerateFeed')),
|
26 |
*/
|
27 |
protected $_helper = null;
|
28 |
|
29 |
+
const ATTRIBUTES_LIMIT = 30;
|
30 |
+
|
31 |
/**
|
32 |
* Retrieve and validate API config
|
33 |
* Initialize API client
|
480 |
* Note: products with undefined website id will not be export.
|
481 |
*/
|
482 |
foreach(Mage::app()->getStores() as $_store) {
|
483 |
+
Mage::app()->setCurrentStore($_store);
|
484 |
$path = Mage::getBaseDir('media') . DS . 'channelengine' . DS;
|
485 |
$storeConfig = $this->_helper->getConfig($_store->getId());
|
486 |
$name = $storeConfig['general']['tenant'].'_products.xml';
|
517 |
/**
|
518 |
* Retrieve product collection with all visible attributes
|
519 |
*/
|
520 |
+
if(Mage::helper('catalog/product_flat')->isEnabled($storeId)) {
|
521 |
+
Mage::getResourceSingleton('catalog/product_flat')->setStoreId($storeId);
|
522 |
+
}
|
523 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
524 |
+
|
525 |
+
if(Mage::helper('catalog/product_flat')->isEnabled($storeId)) {
|
526 |
+
$collection->getEntity()->setStoreId($storeId);
|
527 |
+
}
|
528 |
+
|
529 |
+
|
530 |
$attributesToSelect = array('name', 'description', 'image', 'url_key', 'price', 'cost', 'visibility', 'msrp');
|
531 |
$visibleAttributes = array();
|
532 |
$attributes = Mage::getSingleton('eav/config')
|
540 |
foreach( $attribute->getSource()->getAllOptions(false) as $option ) {
|
541 |
$visibleAttributes[$code]['values'][$option['value']] = $option['label'];
|
542 |
}
|
543 |
+
if(!in_array($code, $attributesToSelect)) {
|
544 |
+
$attributesToSelect[] = $code;
|
545 |
+
}
|
546 |
}
|
547 |
}
|
548 |
|
550 |
$attributesToSelect[] = $this->_config[$storeId]['feed']['gtin'];
|
551 |
}
|
552 |
|
553 |
+
if( (count($attributesToSelect) > self::ATTRIBUTES_LIMIT) && !$collection->isEnabledFlat()) {
|
554 |
+
$error = $this->_helper->__('Too many visible attributes. Please enable catalog product flat mode.');
|
555 |
+
Mage::getSingleton('adminhtml/session')->addError($error);
|
556 |
+
echo 'redirect';
|
557 |
+
return false;
|
558 |
+
}
|
559 |
+
|
560 |
+
$collection->addAttributeToSelect($attributesToSelect, 'left')
|
561 |
->addFieldToFilter('type_id', 'simple')
|
562 |
->addStoreFilter($_store)
|
563 |
->addAttributeToFilter('status', 1)
|
577 |
)
|
578 |
->group('e.entity_id');
|
579 |
|
580 |
+
//die();
|
581 |
Mage::getSingleton('core/resource_iterator')->walk(
|
582 |
$collection->getSelect(),
|
583 |
array(array($this, 'callbackGenerateFeed')),
|
app/code/community/Tritac/ChannelEngine/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Tritac_ChannelEngine>
|
5 |
-
<version>2.1.
|
6 |
</Tritac_ChannelEngine>
|
7 |
</modules>
|
8 |
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Tritac_ChannelEngine>
|
5 |
+
<version>2.1.3</version>
|
6 |
</Tritac_ChannelEngine>
|
7 |
</modules>
|
8 |
|
app/design/adminhtml/default/default/template/channelengine/system/config/feed/generate_button.phtml
CHANGED
@@ -16,6 +16,9 @@
|
|
16 |
if (response == 1) {
|
17 |
result = '<?php echo $this->__("Product Feed was generated successfully") ?>';
|
18 |
elem.removeClassName('fail').addClassName('success')
|
|
|
|
|
|
|
19 |
} else {
|
20 |
elem.removeClassName('success').addClassName('fail')
|
21 |
}
|
16 |
if (response == 1) {
|
17 |
result = '<?php echo $this->__("Product Feed was generated successfully") ?>';
|
18 |
elem.removeClassName('fail').addClassName('success')
|
19 |
+
} else if(response == 'redirect') {
|
20 |
+
result = "<?php echo $this->__("Too many visible attributes.") ?>";
|
21 |
+
window.location.reload();
|
22 |
} else {
|
23 |
elem.removeClassName('success').addClassName('fail')
|
24 |
}
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Tritac_ChannelEngine</name>
|
4 |
-
<version>2.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Connect your Magento shop to the ChannelEngine platform.</summary>
|
10 |
<description>Easily offer your products on comparison websites and marketplaces using the ChannelEngine platform.</description>
|
11 |
-
<notes>*
|
12 |
<authors><author><name>ChannelEngine</name><user>christiaander</user><email>christiaan@tritac.com</email></author></authors>
|
13 |
-
<date>2014-
|
14 |
-
<time>
|
15 |
-
<contents><target name="mageetc"><dir name="modules"><file name="Tritac_ChannelEngine.xml" hash="014b02d581d1039764cdc422e8f86643"/></dir></target><target name="magecommunity"><dir name="Tritac"><dir name="ChannelEngine"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Feed.php" hash="cbc5bf15ab9cd9bb5b2bc97375db3eb2"/></dir></dir></dir><file name="Head.php" hash="98a65067f1ae6074f2c276624164c183"/><dir name="Sales"><dir name="Order"><file name="Grid.php" hash="097e10d1e9e6dd8c5aee66124376cae4"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="bf1203d5f080b340404f02c51967f328"/></dir><dir name="Model"><dir name="Carrier"><file name="Channelengine.php" hash="d93ca824330b2e0eff034009c7e333c2"/></dir><file name="Observer.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Tritac_ChannelEngine</name>
|
4 |
+
<version>2.1.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Connect your Magento shop to the ChannelEngine platform.</summary>
|
10 |
<description>Easily offer your products on comparison websites and marketplaces using the ChannelEngine platform.</description>
|
11 |
+
<notes>* Added support for flat catalog mode.</notes>
|
12 |
<authors><author><name>ChannelEngine</name><user>christiaander</user><email>christiaan@tritac.com</email></author></authors>
|
13 |
+
<date>2014-05-13</date>
|
14 |
+
<time>09:07:14</time>
|
15 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Tritac_ChannelEngine.xml" hash="014b02d581d1039764cdc422e8f86643"/></dir></target><target name="magecommunity"><dir name="Tritac"><dir name="ChannelEngine"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Feed.php" hash="cbc5bf15ab9cd9bb5b2bc97375db3eb2"/></dir></dir></dir><file name="Head.php" hash="98a65067f1ae6074f2c276624164c183"/><dir name="Sales"><dir name="Order"><file name="Grid.php" hash="097e10d1e9e6dd8c5aee66124376cae4"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="bf1203d5f080b340404f02c51967f328"/></dir><dir name="Model"><dir name="Carrier"><file name="Channelengine.php" hash="d93ca824330b2e0eff034009c7e333c2"/></dir><file name="Observer.php" hash="b65f6b8c059aea6e9ee47442ab18fa76"/><file name="Order.php" hash="66c8e7c0ac47f9dbabb156eaa8c97f1e"/><dir name="Payment"><dir name="Method"><file name="Channelengine.php" hash="49ef02953b486cfbf813d37e681172a3"/></dir></dir><dir name="Resource"><dir name="Order"><file name="Collection.php" hash="989bbd95481d2954d7813e19d8c27d18"/></dir><file name="Order.php" hash="3813fe3ad637daf069d79bca1feea540"/><file name="Setup.php" hash="24934fe022e3bb93331fcbfb7a116d37"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Gtin.php" hash="d182d37bc836ef718858c985c27b3c3c"/><file name="Shipping.php" hash="103486f575dcd6205fc9cfd40f2fa5ea"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="GenerateController.php" hash="edde582db1fbb091e14396b247cd0d45"/></dir><file name="TestController.php" hash="1f579ff8fd8ffeb9a8ce25dde0d0fc11"/></dir><dir name="etc"><file name="adminhtml.xml" hash="5a976b638c6ad66287ba3084fdbfc157"/><file name="config.xml" hash="8ebc8379160d90c71cceb07238d17a92"/><file name="system.xml" hash="de0e1158e239833891707739313ac8c6"/></dir><dir name="sql"><dir name="channelengine_setup"><file name="mysql4-install-0.1.0.0.php" hash="312e7c69f98c8d13d251b8ed1ca93448"/><file name="mysql4-install-1.0.0.php" hash="3664f3c5b6e01db69cbea8b4b0beb9ab"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Tritac"><dir name="ChannelEngineApiClient"><file name="AddTrustExternalCARoot.crt" hash="f85d1ff17b0079709f131f3ce3f288d2"/><file name="Client.php" hash="cbfd5ff092ffb201426146d02e6316b4"/><dir name="Enums"><file name="CancellationLineStatus.php" hash="0fe455ad75e49b2796d4bcd1230a3c0d"/><file name="CancellationStatus.php" hash="e4a26c1a29afe02d92320187277f5d03"/><file name="Gender.php" hash="49645506c67b6ad530e1463da256d403"/><file name="MancoReason.php" hash="80388c0545fa091fd9e651fc1284b77d"/><file name="OrderStatus.php" hash="855341235149ff3c9d3a36a5a23f8db0"/><file name="ReturnAcceptStatus.php" hash="de4252a8f9d7b94493b470cccd9feaec"/><file name="ReturnReason.php" hash="05d5fd5b23af84508b8bec92137c421d"/><file name="ReturnStatus.php" hash="ba9350e9ba015ec9cac4b1ab7702333c"/><file name="ShipmentLineStatus.php" hash="8329dce7182fc7705bb8008da6a7e26f"/><file name="ShipmentStatus.php" hash="d73e4a5b58487c7b0c80b114601d3279"/></dir><dir name="Helpers"><file name="Collection.php" hash="2278a5e6d8d65ebca92ba1e968680315"/><file name="HttpMethod.php" hash="4949b2cfe4a309a54b1642fa09bda53b"/><file name="JsonMapper.php" hash="f8e30cab83a2f2ccfdb2a64636c2346b"/></dir><dir name="Models"><file name="Address.php" hash="543aff76425e3335cbba2a1cdd25564d"/><file name="BaseModel.php" hash="65f09d298baa6496807a2f71ea93a8f8"/><file name="Cancellation.php" hash="2fc15d3d2a8f7e21d6f6000bffb77722"/><file name="CancellationLine.php" hash="e8820be847e77d5f77a2de8cb551a8a0"/><file name="Message.php" hash="e0cea12494684d58abea051958082036"/><file name="Order.php" hash="e2a36b36a58607cc460c712979213e54"/><file name="OrderExtraDataItem.php" hash="eaf59ef83070360c4c7bb2c3f5c5633a"/><file name="OrderLine.php" hash="63451a19448eddb6eecf8eca959f9fcb"/><file name="ReturnLine.php" hash="c1cbf7c45a85280782955be400c478e6"/><file name="ReturnObject.php" hash="32d035ba6b448958bb43eac6bf286d6e"/><file name="Shipment.php" hash="8f027c770d98cdb5bc74005ec9310e1c"/><file name="ShipmentLine.php" hash="5c738023584cd6513940be54b8f8dc60"/></dir><file name="loader.php" hash="3daea8be627858c27383a79a29663c82"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="channelengine"><dir name="system"><dir name="config"><dir name="feed"><file name="generate_button.phtml" hash="11f261e8aee3ddfe2cd611bb8eae573e"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="channelengine.xml" hash="d4019283d7ff05708cfac73363f598b8"/></dir><dir name="template"><dir name="channelengine"><dir name="checkout"><file name="success.phtml" hash="eea5605084a179e06c8ea922bfcdd55c"/></dir><file name="head.phtml" hash="638dd695feb9aeaf343183cc3c5d77e1"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|