Version Notes
Channable Connect
Download this release
Release Info
Developer | Magmodules |
Extension | Magmodules_Channable |
Version | 1.3.9 |
Comparing to | |
See all releases |
Code changes from version 1.3.7 to 1.3.9
- app/code/community/Magmodules/Channable/Block/Adminhtml/Config/Form/Field/Filter.php +67 -0
- app/code/community/Magmodules/Channable/Block/Adminhtml/Widget/Info/Info.php +3 -2
- app/code/community/Magmodules/Channable/Helper/Data.php +57 -8
- app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Backend/Design/Filter.php +56 -0
- app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Attribute.php +11 -4
- app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Conditions.php +37 -0
- app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Countries.php +6 -5
- app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Shipping.php +2 -2
- app/code/community/Magmodules/Channable/Model/Channable.php +44 -34
- app/code/community/Magmodules/Channable/Model/Common.php +35 -2
- app/code/community/Magmodules/Channable/etc/config.xml +1 -1
- app/code/community/Magmodules/Channable/etc/system.xml +21 -4
- app/locale/en_US/Magmodules_Channable.csv +54 -18
- package.xml +6 -6
app/code/community/Magmodules/Channable/Block/Adminhtml/Config/Form/Field/Filter.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magmodules.eu - http://www.magmodules.eu - info@magmodules.eu
|
4 |
+
* =============================================================
|
5 |
+
* NOTICE OF LICENSE [Single domain license]
|
6 |
+
* This source file is subject to the EULA that is
|
7 |
+
* available through the world-wide-web at:
|
8 |
+
* http://www.magmodules.eu/license-agreement/
|
9 |
+
* =============================================================
|
10 |
+
* @category Magmodules
|
11 |
+
* @package Magmodules_Channable
|
12 |
+
* @author Magmodules <info@magmodules.eu>
|
13 |
+
* @copyright Copyright (c) 2016 (http://www.magmodules.eu)
|
14 |
+
* @license http://www.magmodules.eu/license-agreement/
|
15 |
+
* =============================================================
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Magmodules_Channable_Block_Adminhtml_Config_Form_Field_Filter extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract {
|
19 |
+
|
20 |
+
protected $_renders = array();
|
21 |
+
|
22 |
+
public function __construct()
|
23 |
+
{
|
24 |
+
$layout = Mage::app()->getFrontController()->getAction()->getLayout();
|
25 |
+
$renderer_attributes = $layout->createBlock('channable/adminhtml_config_form_renderer_select', '', array('is_render_to_js_template' => true));
|
26 |
+
$renderer_attributes->setOptions(Mage::getModel('channable/adminhtml_system_config_source_attribute')->toOptionArray());
|
27 |
+
|
28 |
+
$renderer_conditions = $layout->createBlock('channable/adminhtml_config_form_renderer_select', '', array('is_render_to_js_template' => true));
|
29 |
+
$renderer_conditions->setOptions(Mage::getModel('channable/adminhtml_system_config_source_conditions')->toOptionArray());
|
30 |
+
|
31 |
+
$this->addColumn('attribute', array(
|
32 |
+
'label' => Mage::helper('channable')->__('Attribute'),
|
33 |
+
'style' => 'width:100px',
|
34 |
+
'renderer' => $renderer_attributes
|
35 |
+
));
|
36 |
+
|
37 |
+
$this->addColumn('condition', array(
|
38 |
+
'label' => Mage::helper('channable')->__('Condition'),
|
39 |
+
'style' => 'width:100px',
|
40 |
+
'renderer' => $renderer_conditions
|
41 |
+
));
|
42 |
+
|
43 |
+
$this->addColumn('value', array(
|
44 |
+
'label' => Mage::helper('channable')->__('Value'),
|
45 |
+
'style' => 'width:100px',
|
46 |
+
));
|
47 |
+
|
48 |
+
$this->_renders['attribute'] = $renderer_attributes;
|
49 |
+
$this->_renders['condition'] = $renderer_conditions;
|
50 |
+
|
51 |
+
$this->_addAfter = false;
|
52 |
+
$this->_addButtonLabel = Mage::helper('channable')->__('Add Filter');
|
53 |
+
parent::__construct();
|
54 |
+
}
|
55 |
+
|
56 |
+
|
57 |
+
protected function _prepareArrayRow(Varien_Object $row)
|
58 |
+
{
|
59 |
+
foreach ($this->_renders as $key => $render){
|
60 |
+
$row->setData(
|
61 |
+
'option_extra_attr_' . $render->calcOptionHash($row->getData($key)),
|
62 |
+
'selected="selected"'
|
63 |
+
);
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
app/code/community/Magmodules/Channable/Block/Adminhtml/Widget/Info/Info.php
CHANGED
@@ -19,9 +19,10 @@ class Magmodules_Channable_Block_Adminhtml_Widget_Info_Info extends Mage_Adminht
|
|
19 |
|
20 |
public function render(Varien_Data_Form_Element_Abstract $element)
|
21 |
{
|
22 |
-
|
23 |
$magento_version = Mage::getVersion();
|
24 |
-
|
|
|
|
|
25 |
|
26 |
$html = '<div style="background:url(\'' . $logo_link . '\') no-repeat scroll 15px center #EAF0EE;border:1px solid #CCCCCC;margin-bottom:10px;padding:10px 5px 5px 200px;">
|
27 |
<h4>About Magmodules.eu</h4>
|
19 |
|
20 |
public function render(Varien_Data_Form_Element_Abstract $element)
|
21 |
{
|
|
|
22 |
$magento_version = Mage::getVersion();
|
23 |
+
$module_version = Mage::getConfig()->getNode()->modules->Magmodules_Channable->version;
|
24 |
+
|
25 |
+
$logo_link = '//www.magmodules.eu/logo/channable/' . $module_version . '/' . $magento_version . '/logo.png';
|
26 |
|
27 |
$html = '<div style="background:url(\'' . $logo_link . '\') no-repeat scroll 15px center #EAF0EE;border:1px solid #CCCCCC;margin-bottom:10px;padding:10px 5px 5px 200px;">
|
28 |
<h4>About Magmodules.eu</h4>
|
app/code/community/Magmodules/Channable/Helper/Data.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* @author Magmodules <info@magmodules.eu>
|
13 |
* @copyright Copyright (c) 2016 (http://www.magmodules.eu)
|
14 |
* @license http://www.magmodules.eu/license-agreement/
|
15 |
-
* @version
|
16 |
* =============================================================
|
17 |
*/
|
18 |
|
@@ -124,7 +124,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
124 |
return $data_row;
|
125 |
}
|
126 |
|
127 |
-
if(!empty($value)) {
|
128 |
$data_row[$data['label']] = $value;
|
129 |
return $data_row;
|
130 |
}
|
@@ -156,6 +156,14 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
156 |
if(in_array('truncate', $actions)) {
|
157 |
$st = Mage::helper('core/string')->truncate($st, '5000');
|
158 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
if(in_array('cdata', $actions)) {
|
160 |
$st = '<![CDATA[' . $st . ']]>';
|
161 |
}
|
@@ -383,7 +391,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
383 |
}
|
384 |
break;
|
385 |
default:
|
386 |
-
if(
|
387 |
$value = $product[$source];
|
388 |
}
|
389 |
break;
|
@@ -414,7 +422,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
414 |
$pricerule_price = Mage::helper('tax')->getPrice($product, $product->getFinalPrice(), $tax_param);
|
415 |
|
416 |
$special_price = ''; $special_date = '';
|
417 |
-
if(($pricerule_price > 0) && ($pricerule_price < $
|
418 |
$sales_price = $pricerule_price;
|
419 |
$specialPriceFromDate = $product->getSpecialFromDate();
|
420 |
$specialPriceToDate = $product->getSpecialToDate();
|
@@ -440,7 +448,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
440 |
}
|
441 |
}
|
442 |
}
|
443 |
-
|
444 |
$price_data['final_price_clean'] = $price;
|
445 |
$price_data['price'] = number_format(($price * $price_markup), 2, '.', '') . $currency;
|
446 |
|
@@ -513,7 +521,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
513 |
$attributes[] = $config['category_replace'];
|
514 |
}
|
515 |
|
516 |
-
$categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect($attributes)->addFieldToFilter('
|
517 |
$_categories = array();
|
518 |
|
519 |
foreach($categories as $cat) {
|
@@ -622,8 +630,11 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
622 |
foreach ($options as $option) {
|
623 |
$selection = $option->getDefaultSelection();
|
624 |
if($selection === null) { continue; }
|
625 |
-
$
|
626 |
-
$
|
|
|
|
|
|
|
627 |
}
|
628 |
}
|
629 |
if($price < 0.01) {
|
@@ -650,6 +661,44 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
650 |
}
|
651 |
}
|
652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
653 |
public function checkOldVersion($dir)
|
654 |
{
|
655 |
if($dir) {
|
12 |
* @author Magmodules <info@magmodules.eu>
|
13 |
* @copyright Copyright (c) 2016 (http://www.magmodules.eu)
|
14 |
* @license http://www.magmodules.eu/license-agreement/
|
15 |
+
* @version 07-06-2016
|
16 |
* =============================================================
|
17 |
*/
|
18 |
|
124 |
return $data_row;
|
125 |
}
|
126 |
|
127 |
+
if(!empty($value) || is_numeric($value)) {
|
128 |
$data_row[$data['label']] = $value;
|
129 |
return $data_row;
|
130 |
}
|
156 |
if(in_array('truncate', $actions)) {
|
157 |
$st = Mage::helper('core/string')->truncate($st, '5000');
|
158 |
}
|
159 |
+
if(in_array('truncate150', $actions)) {
|
160 |
+
$st = Mage::helper('core/string')->truncate($st, '150');
|
161 |
+
}
|
162 |
+
if(in_array('uppercheck', $actions)) {
|
163 |
+
if(strtoupper($st) == $st) {
|
164 |
+
$st = ucfirst(strtolower($st));
|
165 |
+
}
|
166 |
+
}
|
167 |
if(in_array('cdata', $actions)) {
|
168 |
$st = '<![CDATA[' . $st . ']]>';
|
169 |
}
|
391 |
}
|
392 |
break;
|
393 |
default:
|
394 |
+
if(isset($product[$source])) {
|
395 |
$value = $product[$source];
|
396 |
}
|
397 |
break;
|
422 |
$pricerule_price = Mage::helper('tax')->getPrice($product, $product->getFinalPrice(), $tax_param);
|
423 |
|
424 |
$special_price = ''; $special_date = '';
|
425 |
+
if(($pricerule_price > 0) && ($pricerule_price < $price)) {
|
426 |
$sales_price = $pricerule_price;
|
427 |
$specialPriceFromDate = $product->getSpecialFromDate();
|
428 |
$specialPriceToDate = $product->getSpecialToDate();
|
448 |
}
|
449 |
}
|
450 |
}
|
451 |
+
|
452 |
$price_data['final_price_clean'] = $price;
|
453 |
$price_data['price'] = number_format(($price * $price_markup), 2, '.', '') . $currency;
|
454 |
|
521 |
$attributes[] = $config['category_replace'];
|
522 |
}
|
523 |
|
524 |
+
$categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect($attributes)->addFieldToFilter('is_active', array('eq' => 1));
|
525 |
$_categories = array();
|
526 |
|
527 |
foreach($categories as $cat) {
|
630 |
foreach ($options as $option) {
|
631 |
$selection = $option->getDefaultSelection();
|
632 |
if($selection === null) { continue; }
|
633 |
+
$selection_product_id = $selection->getProductId();
|
634 |
+
$_resource = Mage::getSingleton('catalog/product')->getResource();
|
635 |
+
$final_price = $_resource->getAttributeRawValue($selection_product_id, 'final_price', $storeId);
|
636 |
+
$selection_qty = $_resource->getAttributeRawValue($selection_product_id, 'selection_qty', $storeId);
|
637 |
+
$price += ($final_price * $selection_qty);
|
638 |
}
|
639 |
}
|
640 |
if($price < 0.01) {
|
661 |
}
|
662 |
}
|
663 |
|
664 |
+
public function getTypePrices($config, $products)
|
665 |
+
{
|
666 |
+
$type_prices = array();
|
667 |
+
if(!empty($config['conf_enabled'])) {
|
668 |
+
foreach($products as $product) {
|
669 |
+
if($product->getTypeId() == 'configurable') {
|
670 |
+
$attributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
|
671 |
+
$att_prices = array();
|
672 |
+
$base_price = $product->getFinalPrice();
|
673 |
+
foreach ($attributes as $attribute){
|
674 |
+
$prices = $attribute->getPrices();
|
675 |
+
foreach ($prices as $price){
|
676 |
+
if ($price['is_percent']) {
|
677 |
+
$att_prices[$price['value_index']] = (float)$price['pricing_value'] * $base_price / 100;
|
678 |
+
} else {
|
679 |
+
$att_prices[$price['value_index']] = (float)$price['pricing_value'];
|
680 |
+
}
|
681 |
+
}
|
682 |
+
}
|
683 |
+
$simple = $product->getTypeInstance()->getUsedProducts();
|
684 |
+
$simple_prices = array();
|
685 |
+
foreach($simple as $sProduct) {
|
686 |
+
$total_price = $base_price;
|
687 |
+
foreach($attributes as $attribute) {
|
688 |
+
$value = $sProduct->getData($attribute->getProductAttribute()->getAttributeCode());
|
689 |
+
if(isset($att_prices[$value])) {
|
690 |
+
$total_price += $att_prices[$value];
|
691 |
+
}
|
692 |
+
}
|
693 |
+
$type_prices[$sProduct->getEntityId()] = number_format($total_price, 2, '.', '') . ' ' . $config['currency'];
|
694 |
+
}
|
695 |
+
}
|
696 |
+
}
|
697 |
+
}
|
698 |
+
return $type_prices;
|
699 |
+
}
|
700 |
+
|
701 |
+
|
702 |
public function checkOldVersion($dir)
|
703 |
{
|
704 |
if($dir) {
|
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Backend/Design/Filter.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magmodules.eu - http://www.magmodules.eu - info@magmodules.eu
|
4 |
+
* =============================================================
|
5 |
+
* NOTICE OF LICENSE [Single domain license]
|
6 |
+
* This source file is subject to the EULA that is
|
7 |
+
* available through the world-wide-web at:
|
8 |
+
* http://www.magmodules.eu/license-agreement/
|
9 |
+
* =============================================================
|
10 |
+
* @category Magmodules
|
11 |
+
* @package Magmodules_Channable
|
12 |
+
* @author Magmodules <info@magmodules.eu>
|
13 |
+
* @copyright Copyright (c) 2016 (http://www.magmodules.eu)
|
14 |
+
* @license http://www.magmodules.eu/license-agreement/
|
15 |
+
* =============================================================
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Magmodules_Channable_Model_Adminhtml_System_Config_Backend_Design_Filter extends Mage_Adminhtml_Model_System_Config_Backend_Serialized_Array {
|
19 |
+
|
20 |
+
protected function _beforeSave()
|
21 |
+
{
|
22 |
+
$value = $this->getValue();
|
23 |
+
if(is_array($value)) {
|
24 |
+
unset($value['__empty']);
|
25 |
+
if(count($value)) {
|
26 |
+
$value = $this->orderData($value, 'attribute');
|
27 |
+
foreach($value as $key => $field){
|
28 |
+
if(!empty($field['attribute']) && !empty($field['condition']) && !empty($field['value'])) {
|
29 |
+
$attribute = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product', $field['attribute']);
|
30 |
+
$value[$key]['attribute'] = $field['attribute'];
|
31 |
+
$value[$key]['condition'] = $field['condition'];
|
32 |
+
$value[$key]['value'] = $field['value'];
|
33 |
+
$value[$key]['type'] = $attribute->getFrontendInput();
|
34 |
+
} else {
|
35 |
+
unset($value[$key]);
|
36 |
+
}
|
37 |
+
}
|
38 |
+
$keys = array();
|
39 |
+
for($i=0; $i < count($value); $i++){
|
40 |
+
$keys[] = 'filter_' . uniqid();
|
41 |
+
}
|
42 |
+
$value = array_combine($keys, array_values($value));
|
43 |
+
}
|
44 |
+
}
|
45 |
+
$this->setValue($value);
|
46 |
+
parent::_beforeSave();
|
47 |
+
}
|
48 |
+
|
49 |
+
function orderData($data, $sort)
|
50 |
+
{
|
51 |
+
$code = "return strnatcmp(\$a['$sort'], \$b['$sort']);";
|
52 |
+
usort($data, create_function('$a,$b', $code));
|
53 |
+
return $data;
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Attribute.php
CHANGED
@@ -14,21 +14,28 @@
|
|
14 |
* @license http://www.magmodules.eu/license-agreement/
|
15 |
* =============================================================
|
16 |
*/
|
|
|
17 |
class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Attribute {
|
18 |
|
19 |
public function toOptionArray()
|
20 |
{
|
21 |
$optionArray = array();
|
22 |
$optionArray[] = array('value' => '', 'label' => Mage::helper('channable')->__('-- none'));
|
|
|
|
|
|
|
23 |
$backend_types = array('text', 'select', 'textarea', 'date', 'int', 'boolean', 'static', 'varchar', 'decimal');
|
24 |
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->setOrder('frontend_label','ASC')->addFieldToFilter('backend_type', $backend_types);
|
25 |
foreach($attributes as $attribute) {
|
26 |
if($attribute->getData('frontend_label')) {
|
27 |
-
$
|
28 |
-
|
29 |
-
|
30 |
-
);
|
31 |
}
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
return $optionArray;
|
34 |
}
|
14 |
* @license http://www.magmodules.eu/license-agreement/
|
15 |
* =============================================================
|
16 |
*/
|
17 |
+
|
18 |
class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Attribute {
|
19 |
|
20 |
public function toOptionArray()
|
21 |
{
|
22 |
$optionArray = array();
|
23 |
$optionArray[] = array('value' => '', 'label' => Mage::helper('channable')->__('-- none'));
|
24 |
+
$optionArray[] = array('label' => Mage::helper('channable')->__('- Product ID'), 'value' => 'entity_id');
|
25 |
+
$optionArray[] = array('label' => Mage::helper('channable')->__('- Final Price'), 'value' => 'final_price');
|
26 |
+
$optionArray[] = array('label' => Mage::helper('channable')->__('- Product Type'), 'value' => 'type_id');
|
27 |
$backend_types = array('text', 'select', 'textarea', 'date', 'int', 'boolean', 'static', 'varchar', 'decimal');
|
28 |
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->setOrder('frontend_label','ASC')->addFieldToFilter('backend_type', $backend_types);
|
29 |
foreach($attributes as $attribute) {
|
30 |
if($attribute->getData('frontend_label')) {
|
31 |
+
$label = str_replace("'", "", $attribute->getData('frontend_label'));
|
32 |
+
} else {
|
33 |
+
$label = str_replace("'", "", $attribute->getData('attribute_code'));
|
|
|
34 |
}
|
35 |
+
$optionArray[] = array(
|
36 |
+
'value' => $attribute->getData('attribute_code'),
|
37 |
+
'label' => $label,
|
38 |
+
);
|
39 |
}
|
40 |
return $optionArray;
|
41 |
}
|
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Conditions.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magmodules.eu - http://www.magmodules.eu - info@magmodules.eu
|
4 |
+
* =============================================================
|
5 |
+
* NOTICE OF LICENSE [Single domain license]
|
6 |
+
* This source file is subject to the EULA that is
|
7 |
+
* available through the world-wide-web at:
|
8 |
+
* http://www.magmodules.eu/license-agreement/
|
9 |
+
* =============================================================
|
10 |
+
* @category Magmodules
|
11 |
+
* @package Magmodules_Channable
|
12 |
+
* @author Magmodules <info@magmodules.eu>
|
13 |
+
* @copyright Copyright (c) 2015 (http://www.magmodules.eu)
|
14 |
+
* @license http://www.magmodules.eu/license-agreement/
|
15 |
+
* =============================================================
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Conditions {
|
19 |
+
|
20 |
+
public function toOptionArray() {
|
21 |
+
$type = array();
|
22 |
+
$type[] = array('value'=> '', 'label'=> Mage::helper('channable')->__(''));
|
23 |
+
$type[] = array('value'=> 'eq', 'label'=> Mage::helper('channable')->__('Equal'));
|
24 |
+
$type[] = array('value'=> 'neq', 'label'=> Mage::helper('channable')->__('Not equal'));
|
25 |
+
$type[] = array('value'=> 'gt', 'label'=> Mage::helper('channable')->__('Greater than'));
|
26 |
+
$type[] = array('value'=> 'gteq', 'label'=> Mage::helper('channable')->__('Greater than or equal to'));
|
27 |
+
$type[] = array('value'=> 'lt', 'label'=> Mage::helper('channable')->__('Less than'));
|
28 |
+
$type[] = array('value'=> 'lteg', 'label'=> Mage::helper('channable')->__('Less than or equal to'));
|
29 |
+
$type[] = array('value'=> 'in', 'label'=> Mage::helper('channable')->__('In'));
|
30 |
+
$type[] = array('value'=> 'nin', 'label'=> Mage::helper('channable')->__('Not in'));
|
31 |
+
$type[] = array('value'=> 'like', 'label'=> Mage::helper('channable')->__('Like'));
|
32 |
+
$type[] = array('value'=> 'empty', 'label'=> Mage::helper('channable')->__('Empty'));
|
33 |
+
$type[] = array('value'=> 'not-empty', 'label'=> Mage::helper('channable')->__('Not Empty'));
|
34 |
+
return $type;
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Countries.php
CHANGED
@@ -17,12 +17,13 @@
|
|
17 |
|
18 |
class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Countries {
|
19 |
|
20 |
-
public function toOptionArray()
|
|
|
21 |
$countries = array();
|
22 |
-
$countries[] = array('value'=> '', 'label'=> Mage::helper('channable')->__('
|
23 |
-
$
|
24 |
-
$
|
25 |
-
return $countries;
|
26 |
}
|
27 |
|
28 |
}
|
17 |
|
18 |
class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Countries {
|
19 |
|
20 |
+
public function toOptionArray()
|
21 |
+
{
|
22 |
$countries = array();
|
23 |
+
$countries[] = array('value' => '', 'label' => Mage::helper('channable')->__('-- All Countries'));
|
24 |
+
$source = Mage::getModel('adminhtml/system_config_source_country')->toOptionArray();
|
25 |
+
unset($source[0]);
|
26 |
+
return array_merge($countries, $source);
|
27 |
}
|
28 |
|
29 |
}
|
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Shipping.php
CHANGED
@@ -19,8 +19,8 @@ class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Shipping {
|
|
19 |
|
20 |
public function toOptionArray() {
|
21 |
$type = array();
|
22 |
-
$type[] = array('value' => 'price', 'label'=> Mage::helper('channable')->__('
|
23 |
-
$type[] = array('value' => 'weight', 'label'=> Mage::helper('channable')->__('
|
24 |
return $type;
|
25 |
}
|
26 |
|
19 |
|
20 |
public function toOptionArray() {
|
21 |
$type = array();
|
22 |
+
$type[] = array('value' => 'price', 'label'=> Mage::helper('channable')->__('Price'));
|
23 |
+
$type[] = array('value' => 'weight', 'label'=> Mage::helper('channable')->__('Weight'));
|
24 |
return $type;
|
25 |
}
|
26 |
|
app/code/community/Magmodules/Channable/Model/Channable.php
CHANGED
@@ -23,12 +23,13 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
23 |
$config = $this->getFeedConfig($storeId);
|
24 |
$clean = $this->cleanItemUpdates($storeId, $page);
|
25 |
$products = $this->getProducts($config, $config['limit'], $page);
|
26 |
-
|
|
|
27 |
return $feed;
|
28 |
}
|
29 |
}
|
30 |
|
31 |
-
public function getFeedData($products, $config, $time_start)
|
32 |
{
|
33 |
$count = $this->getProducts($config, '', '', 'count');
|
34 |
foreach($products as $product) {
|
@@ -39,7 +40,7 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
39 |
foreach($product_data as $key => $value) {
|
40 |
if(!is_array($value)) { $product_row[$key] = $value; }
|
41 |
}
|
42 |
-
if($extra_data = $this->getExtraDataFields($product_data, $config, $product)) {
|
43 |
$product_row = array_merge($product_row, $extra_data);
|
44 |
}
|
45 |
$feed['products'][] = $product_row;
|
@@ -79,7 +80,8 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
79 |
$config['version'] = (string)Mage::getConfig()->getNode()->modules->Magmodules_Channable->version;
|
80 |
$config['media_gallery_id'] = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product', 'media_gallery');
|
81 |
$config['item_updates'] = Mage::getStoreConfig('channable_api/item/enabled', $storeId);
|
82 |
-
|
|
|
83 |
// PRODUCT & CATEGORY
|
84 |
$config['filter_enabled'] = Mage::getStoreConfig('channable/filter/category_enabled', $storeId);
|
85 |
$config['filter_cat'] = Mage::getStoreConfig('channable/filter/categories', $storeId);
|
@@ -174,21 +176,25 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
174 |
return Mage::helper('channable')->addAttributeData($attributes, $config);
|
175 |
}
|
176 |
|
177 |
-
protected function getPrices($data)
|
178 |
{
|
179 |
$prices = array();
|
180 |
-
$
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
$prices['
|
186 |
-
$prices['
|
187 |
-
if(isset($data['
|
188 |
-
$prices['
|
189 |
-
|
190 |
-
|
191 |
-
|
|
|
|
|
|
|
|
|
192 |
}
|
193 |
}
|
194 |
return $prices;
|
@@ -231,21 +237,23 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
231 |
$cal_value = $data['price']['final_price_clean'];
|
232 |
}
|
233 |
}
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
$
|
238 |
-
|
239 |
-
$
|
240 |
-
$
|
241 |
-
|
242 |
-
if($shipping_price['country'] == 'BE') {
|
243 |
-
$shipping_array['shipping_be'] = $shipping_cost;
|
244 |
} else {
|
245 |
-
$
|
246 |
-
|
|
|
|
|
|
|
|
|
247 |
}
|
248 |
-
}
|
249 |
}
|
250 |
return $shipping_array;
|
251 |
}
|
@@ -303,11 +311,11 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
303 |
return $_images;
|
304 |
}
|
305 |
|
306 |
-
protected function getExtraDataFields($product_data, $config, $product)
|
307 |
{
|
308 |
$_extra = array();
|
309 |
if(!empty($product_data['price'])) {
|
310 |
-
if($_prices = $this->getPrices($product_data['price'])) {
|
311 |
$_extra = array_merge($_extra, $_prices);
|
312 |
}
|
313 |
}
|
@@ -345,7 +353,8 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
345 |
return $header;
|
346 |
}
|
347 |
|
348 |
-
protected function cleanItemUpdates($storeId, $page)
|
|
|
349 |
if(empty($page)) {
|
350 |
if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
|
351 |
Mage::getModel('channableapi/items')->cleanItemStore($storeId);
|
@@ -353,7 +362,8 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
|
|
353 |
}
|
354 |
}
|
355 |
|
356 |
-
protected function processItemUpdates($product_row, $store_id)
|
|
|
357 |
if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
|
358 |
Mage::getModel('channableapi/items')->saveItemFeed($product_row, $store_id);
|
359 |
}
|
23 |
$config = $this->getFeedConfig($storeId);
|
24 |
$clean = $this->cleanItemUpdates($storeId, $page);
|
25 |
$products = $this->getProducts($config, $config['limit'], $page);
|
26 |
+
$prices = Mage::helper('channable')->getTypePrices($config, $products);
|
27 |
+
if($feed = $this->getFeedData($products, $config, $time_start, $prices)) {
|
28 |
return $feed;
|
29 |
}
|
30 |
}
|
31 |
|
32 |
+
public function getFeedData($products, $config, $time_start, $prices)
|
33 |
{
|
34 |
$count = $this->getProducts($config, '', '', 'count');
|
35 |
foreach($products as $product) {
|
40 |
foreach($product_data as $key => $value) {
|
41 |
if(!is_array($value)) { $product_row[$key] = $value; }
|
42 |
}
|
43 |
+
if($extra_data = $this->getExtraDataFields($product_data, $config, $product, $prices)) {
|
44 |
$product_row = array_merge($product_row, $extra_data);
|
45 |
}
|
46 |
$feed['products'][] = $product_row;
|
80 |
$config['version'] = (string)Mage::getConfig()->getNode()->modules->Magmodules_Channable->version;
|
81 |
$config['media_gallery_id'] = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product', 'media_gallery');
|
82 |
$config['item_updates'] = Mage::getStoreConfig('channable_api/item/enabled', $storeId);
|
83 |
+
$config['filters'] = @unserialize(Mage::getStoreConfig('channable/filter/advanced', $storeId));
|
84 |
+
|
85 |
// PRODUCT & CATEGORY
|
86 |
$config['filter_enabled'] = Mage::getStoreConfig('channable/filter/category_enabled', $storeId);
|
87 |
$config['filter_cat'] = Mage::getStoreConfig('channable/filter/categories', $storeId);
|
176 |
return Mage::helper('channable')->addAttributeData($attributes, $config);
|
177 |
}
|
178 |
|
179 |
+
protected function getPrices($data, $conf_prices, $id)
|
180 |
{
|
181 |
$prices = array();
|
182 |
+
if(!empty($conf_prices[$id])) {
|
183 |
+
$prices['price'] = $conf_prices[$id];
|
184 |
+
} else {
|
185 |
+
$prices['price'] = $data['price'];
|
186 |
+
$prices['special_price'] = '';
|
187 |
+
$prices['special_price_from'] = '';
|
188 |
+
$prices['special_price_to'] = '';
|
189 |
+
if(isset($data['sales_price'])) {
|
190 |
+
$prices['price'] = $data['regular_price'];
|
191 |
+
$prices['special_price'] = $data['sales_price'];
|
192 |
+
if(isset($data['sales_date_start'])) {
|
193 |
+
$prices['special_price_from'] = $data['sales_date_start'];
|
194 |
+
}
|
195 |
+
if(isset($data['sales_date_end'])) {
|
196 |
+
$prices['special_price_to'] = $data['sales_date_end'];
|
197 |
+
}
|
198 |
}
|
199 |
}
|
200 |
return $prices;
|
237 |
$cal_value = $data['price']['final_price_clean'];
|
238 |
}
|
239 |
}
|
240 |
+
|
241 |
+
if(!empty($config['shipping_prices'])) {
|
242 |
+
foreach($config['shipping_prices'] as $shipping_price) {
|
243 |
+
if(($cal_value >= $shipping_price['price_from']) && ($cal_value <= $shipping_price['price_to'])) {
|
244 |
+
$shipping_cost = $shipping_price['cost'];
|
245 |
+
$shipping_cost = number_format($shipping_cost, 2, '.', '');
|
246 |
+
if(empty($shipping_price['country'])) {
|
247 |
+
$shipping_array['shipping'] = $shipping_cost;
|
|
|
|
|
248 |
} else {
|
249 |
+
$label = 'shipping_' . strtolower($shipping_price['country']);
|
250 |
+
$shipping_array[$label] = $shipping_cost;
|
251 |
+
if(strtolower($shipping_price['country']) == 'nl') {
|
252 |
+
$shipping_array['shipping'] = $shipping_cost;
|
253 |
+
}
|
254 |
+
}
|
255 |
}
|
256 |
+
}
|
257 |
}
|
258 |
return $shipping_array;
|
259 |
}
|
311 |
return $_images;
|
312 |
}
|
313 |
|
314 |
+
protected function getExtraDataFields($product_data, $config, $product, $prices)
|
315 |
{
|
316 |
$_extra = array();
|
317 |
if(!empty($product_data['price'])) {
|
318 |
+
if($_prices = $this->getPrices($product_data['price'], $prices, $product->getEntityId())) {
|
319 |
$_extra = array_merge($_extra, $_prices);
|
320 |
}
|
321 |
}
|
353 |
return $header;
|
354 |
}
|
355 |
|
356 |
+
protected function cleanItemUpdates($storeId, $page)
|
357 |
+
{
|
358 |
if(empty($page)) {
|
359 |
if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
|
360 |
Mage::getModel('channableapi/items')->cleanItemStore($storeId);
|
362 |
}
|
363 |
}
|
364 |
|
365 |
+
protected function processItemUpdates($product_row, $store_id)
|
366 |
+
{
|
367 |
if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
|
368 |
Mage::getModel('channableapi/items')->saveItemFeed($product_row, $store_id);
|
369 |
}
|
app/code/community/Magmodules/Channable/Model/Common.php
CHANGED
@@ -54,7 +54,8 @@ class Magmodules_Channable_Model_Common extends Mage_Core_Helper_Abstract {
|
|
54 |
|
55 |
// All attributes
|
56 |
$attributes = array();
|
57 |
-
$attributes[] = 'url_path';
|
|
|
58 |
$attributes[] = 'sku';
|
59 |
$attributes[] = 'price';
|
60 |
$attributes[] = 'final_price';
|
@@ -115,8 +116,40 @@ class Magmodules_Channable_Model_Common extends Mage_Core_Helper_Abstract {
|
|
115 |
}
|
116 |
}
|
117 |
|
118 |
-
$collection->addAttributeToSelect($attributes);
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
$collection->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array("qty" => "qty", "stock_status" => "is_in_stock", "manage_stock" => "manage_stock", "use_config_manage_stock" => "use_config_manage_stock"))->addAttributeToSelect(array('qty', 'stock_status', 'manage_stock', 'use_config_manage_stock'));
|
121 |
$collection->getSelect()->group('e.entity_id');
|
122 |
$products = $collection->load();
|
54 |
|
55 |
// All attributes
|
56 |
$attributes = array();
|
57 |
+
$attributes[] = 'url_path';
|
58 |
+
$attributes[] = 'url_key';
|
59 |
$attributes[] = 'sku';
|
60 |
$attributes[] = 'price';
|
61 |
$attributes[] = 'final_price';
|
116 |
}
|
117 |
}
|
118 |
|
119 |
+
$collection->addAttributeToSelect(array_unique($attributes));
|
120 |
|
121 |
+
if(!empty($config['filters'])) {
|
122 |
+
foreach($config['filters'] as $filter) {
|
123 |
+
$attribute = $filter['attribute'];
|
124 |
+
if($filter['type'] == 'select') {
|
125 |
+
$attribute = $filter['attribute'] . '_value';
|
126 |
+
}
|
127 |
+
$condition = $filter['condition'];
|
128 |
+
$value = $filter['value'];
|
129 |
+
switch ($condition) {
|
130 |
+
case 'nin':
|
131 |
+
if(strpos($value, ',') !== FALSE) { $value = explode(',', $value); }
|
132 |
+
$collection->addAttributeToFilter(array(array('attribute' => $attribute, $condition => $value), array('attribute' => $attribute, 'null' => true)));
|
133 |
+
break;
|
134 |
+
case 'in';
|
135 |
+
if(strpos($value, ',') !== FALSE) { $value = explode(',', $value); }
|
136 |
+
$collection->addAttributeToFilter($attribute, array($condition => $value));
|
137 |
+
break;
|
138 |
+
case 'neq':
|
139 |
+
$collection->addAttributeToFilter(array(array('attribute' => $attribute, $condition => $value), array('attribute' => $attribute, 'null' => true)));
|
140 |
+
break;
|
141 |
+
case 'empty':
|
142 |
+
$collection->addAttributeToFilter($attribute, array('null' => true));
|
143 |
+
break;
|
144 |
+
case 'not-empty':
|
145 |
+
$collection->addAttributeToFilter($attribute, array('notnull' => true));
|
146 |
+
break;
|
147 |
+
default:
|
148 |
+
$collection->addAttributeToFilter($attribute, array($condition => $value));
|
149 |
+
break;
|
150 |
+
}
|
151 |
+
}
|
152 |
+
}
|
153 |
$collection->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array("qty" => "qty", "stock_status" => "is_in_stock", "manage_stock" => "manage_stock", "use_config_manage_stock" => "use_config_manage_stock"))->addAttributeToSelect(array('qty', 'stock_status', 'manage_stock', 'use_config_manage_stock'));
|
154 |
$collection->getSelect()->group('e.entity_id');
|
155 |
$products = $collection->load();
|
app/code/community/Magmodules/Channable/etc/config.xml
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
<config>
|
20 |
<modules>
|
21 |
<Magmodules_Channable>
|
22 |
-
<version>1.3.
|
23 |
</Magmodules_Channable>
|
24 |
</modules>
|
25 |
<global>
|
19 |
<config>
|
20 |
<modules>
|
21 |
<Magmodules_Channable>
|
22 |
+
<version>1.3.9</version>
|
23 |
</Magmodules_Channable>
|
24 |
</modules>
|
25 |
<global>
|
app/code/community/Magmodules/Channable/etc/system.xml
CHANGED
@@ -132,7 +132,7 @@
|
|
132 |
<description translate="label">
|
133 |
<label>Description</label>
|
134 |
<frontend_type>select</frontend_type>
|
135 |
-
<source_model>channable/
|
136 |
<sort_order>12</sort_order>
|
137 |
<show_in_default>1</show_in_default>
|
138 |
<show_in_website>1</show_in_website>
|
@@ -150,7 +150,7 @@
|
|
150 |
<ean translate="label">
|
151 |
<label>EAN-code</label>
|
152 |
<frontend_type>select</frontend_type>
|
153 |
-
<source_model>channable/
|
154 |
<sort_order>14</sort_order>
|
155 |
<show_in_default>1</show_in_default>
|
156 |
<show_in_website>1</show_in_website>
|
@@ -194,7 +194,7 @@
|
|
194 |
<sku translate="label">
|
195 |
<label>SKU</label>
|
196 |
<frontend_type>select</frontend_type>
|
197 |
-
<source_model>channable/
|
198 |
<sort_order>21</sort_order>
|
199 |
<show_in_default>1</show_in_default>
|
200 |
<show_in_website>1</show_in_website>
|
@@ -597,7 +597,24 @@
|
|
597 |
<show_in_default>1</show_in_default>
|
598 |
<show_in_website>1</show_in_website>
|
599 |
<show_in_store>1</show_in_store>
|
600 |
-
</stock>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
</fields>
|
602 |
</filter>
|
603 |
<server translate="label" module="channable">
|
132 |
<description translate="label">
|
133 |
<label>Description</label>
|
134 |
<frontend_type>select</frontend_type>
|
135 |
+
<source_model>channable/adminhtml_system_config_source_attribute</source_model>
|
136 |
<sort_order>12</sort_order>
|
137 |
<show_in_default>1</show_in_default>
|
138 |
<show_in_website>1</show_in_website>
|
150 |
<ean translate="label">
|
151 |
<label>EAN-code</label>
|
152 |
<frontend_type>select</frontend_type>
|
153 |
+
<source_model>channable/adminhtml_system_config_source_attribute</source_model>
|
154 |
<sort_order>14</sort_order>
|
155 |
<show_in_default>1</show_in_default>
|
156 |
<show_in_website>1</show_in_website>
|
194 |
<sku translate="label">
|
195 |
<label>SKU</label>
|
196 |
<frontend_type>select</frontend_type>
|
197 |
+
<source_model>channable/adminhtml_system_config_source_attribute</source_model>
|
198 |
<sort_order>21</sort_order>
|
199 |
<show_in_default>1</show_in_default>
|
200 |
<show_in_website>1</show_in_website>
|
597 |
<show_in_default>1</show_in_default>
|
598 |
<show_in_website>1</show_in_website>
|
599 |
<show_in_store>1</show_in_store>
|
600 |
+
</stock>
|
601 |
+
<advanced_heading translate="label">
|
602 |
+
<label>Advanced</label>
|
603 |
+
<frontend_model>channable/adminhtml_system_config_form_field_heading</frontend_model>
|
604 |
+
<sort_order>40</sort_order>
|
605 |
+
<show_in_default>1</show_in_default>
|
606 |
+
<show_in_website>1</show_in_website>
|
607 |
+
<show_in_store>1</show_in_store>
|
608 |
+
</advanced_heading>
|
609 |
+
<advanced>
|
610 |
+
<label>Advanced Filter</label>
|
611 |
+
<frontend_model>channable/adminhtml_config_form_field_filter</frontend_model>
|
612 |
+
<backend_model>channable/adminhtml_system_config_backend_design_filter</backend_model>
|
613 |
+
<sort_order>42</sort_order>
|
614 |
+
<show_in_default>1</show_in_default>
|
615 |
+
<show_in_website>1</show_in_website>
|
616 |
+
<show_in_store>1</show_in_store>
|
617 |
+
</advanced>
|
618 |
</fields>
|
619 |
</filter>
|
620 |
<server translate="label" module="channable">
|
app/locale/en_US/Magmodules_Channable.csv
CHANGED
@@ -2,60 +2,96 @@
|
|
2 |
"-- none","-- none"
|
3 |
"Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account.","Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account."
|
4 |
"Add Attribute","Add Attribute"
|
5 |
-
"Add Option","Add Option"
|
6 |
"Always Use Parent Data","Always Use Parent Data"
|
7 |
-
"
|
|
|
8 |
"Attribute","Attribute"
|
9 |
"Brand","Brand"
|
|
|
|
|
10 |
"Channable Connect","Channable Connect"
|
11 |
"Color","Color"
|
12 |
-
"
|
|
|
|
|
|
|
13 |
"Connector Code","Connector Code"
|
|
|
|
|
|
|
|
|
14 |
"Data Selection","Data Selection"
|
15 |
"Delivery Time","Delivery Time"
|
16 |
-
"Delivery Time
|
17 |
-
"Delivery Time
|
|
|
|
|
18 |
"Description","Description"
|
19 |
"EAN-code","EAN-code"
|
|
|
20 |
"Enabled","Enabled"
|
21 |
-
"
|
22 |
"Enabled Feed","Enabled Feed"
|
|
|
|
|
23 |
"Extra Fields","Extra Fields"
|
24 |
"Feeds - Available","Feeds - Available"
|
|
|
|
|
25 |
"Gender","Gender"
|
26 |
"General - Settings","General - Settings"
|
27 |
-
"General Fields","General Fields"
|
|
|
28 |
"Licence","Licence"
|
29 |
"License Key","License Key"
|
30 |
"Magento Attribute","Magento Attribute"
|
31 |
"Magmodules","Magmodules"
|
|
|
32 |
"Material","Material"
|
33 |
"Products - Configurable Products","Products - Configurable Products"
|
34 |
-
"Price
|
35 |
-
"Price
|
|
|
36 |
"Products - Data","Products - Data"
|
37 |
"Products - Data Extra fields & Shipping","Products - Data Extra fields & Shipping"
|
38 |
-
"Products per feed","Products per feed"
|
|
|
39 |
"SKU","SKU"
|
40 |
"Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime.","Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime."
|
41 |
"Send Status","Send Status"
|
42 |
"Send Stock Level","Send Stock Level"
|
43 |
"Server Name","Server Name"
|
|
|
|
|
44 |
"Settings","Settings"
|
45 |
"Shipping Price","Shipping Price"
|
46 |
"Size","Size"
|
47 |
"Static","Static"
|
48 |
"Stock","Stock"
|
|
|
49 |
"Strip Tags","Strip Tags"
|
50 |
"Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views.","Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views."
|
51 |
"Text","Text"
|
52 |
-
"
|
53 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
"Title","Title"
|
55 |
"Type","Type"
|
56 |
-
"
|
57 |
-
"
|
58 |
-
"Use Simple Product Data","Use Simple Product Data"
|
59 |
-
"Use Parent Data as fallback","Use Parent Data as fallback"
|
60 |
-
"This overwrites the maximum amount of memory in bytes that a script is allowed to allocate eg 1024M.","This overwrites the maximum amount of memory in bytes that a script is allowed to allocate eg 1024M."
|
61 |
-
"The Max Execution Time","Maximale uitvoertijd"
|
2 |
"-- none","-- none"
|
3 |
"Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account.","Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account."
|
4 |
"Add Attribute","Add Attribute"
|
|
|
5 |
"Always Use Parent Data","Always Use Parent Data"
|
6 |
+
"Add Option","Add Option"
|
7 |
+
"The Additional Fields","The Additional Fields"
|
8 |
"Attribute","Attribute"
|
9 |
"Brand","Brand"
|
10 |
+
"Based on product price","Based on product price"
|
11 |
+
"Based on product weight","Based on product weight"
|
12 |
"Channable Connect","Channable Connect"
|
13 |
"Color","Color"
|
14 |
+
"Country","Country"
|
15 |
+
"Category","Category"
|
16 |
+
"Configurable Switch Urls","Configurable Switch Urls"
|
17 |
+
"Name","Name"
|
18 |
"Connector Code","Connector Code"
|
19 |
+
"Configurable & Grouped data linkage","Configurable & Grouped data linkage"
|
20 |
+
"cost","cost"
|
21 |
+
"Click to auto connect with Channable","Click to auto connect with Channable"
|
22 |
+
"Create a specific url for the simple products inside the configurable products to make sure the prices and information is correct.","Create a specific url for the simple products inside the configurable products to make sure the prices and information is correct."
|
23 |
"Data Selection","Data Selection"
|
24 |
"Delivery Time","Delivery Time"
|
25 |
+
"Delivery Time for In Stock","Delivery Time for In Stock"
|
26 |
+
"Delivery Time for Out of Stock","Delivery Time for Out of Stock"
|
27 |
+
"Delivery Time for The Netherlands","Delivery Time for The Netherlands"
|
28 |
+
"Delivery Time for Belgium","Delivery Time for Belgium"
|
29 |
"Description","Description"
|
30 |
"EAN-code","EAN-code"
|
31 |
+
"Exclude Products by Stock level","Exclude Products by Stock level"
|
32 |
"Enabled","Enabled"
|
33 |
+
"Grouped Price","Grouped Price"
|
34 |
"Enabled Feed","Enabled Feed"
|
35 |
+
"Exclude the out of stock products","Exclude the out of stock products"
|
36 |
+
"Exclude Products on Stock level","Exclude Products on Stock level"
|
37 |
"Extra Fields","Extra Fields"
|
38 |
"Feeds - Available","Feeds - Available"
|
39 |
+
"Filter based on Category","Filter based on Category"
|
40 |
+
"Force the Tax Usage","Force the Tax Usage"
|
41 |
"Gender","Gender"
|
42 |
"General - Settings","General - Settings"
|
43 |
+
"The General Fields","The General Fields"
|
44 |
+
"Limits the amount of product Channable will import per run. This setting wil not limit the total products sent to Channable!","Limits the amount of product Channable will import per run. This setting wil not limit the total products sent to Channable!"
|
45 |
"Licence","Licence"
|
46 |
"License Key","License Key"
|
47 |
"Magento Attribute","Magento Attribute"
|
48 |
"Magmodules","Magmodules"
|
49 |
+
"Manually Add the Tax","Manually Add the Tax"
|
50 |
"Material","Material"
|
51 |
"Products - Configurable Products","Products - Configurable Products"
|
52 |
+
"Price from","Price from"
|
53 |
+
"Price to","Price to"
|
54 |
+
"Products per page","Products per page"
|
55 |
"Products - Data","Products - Data"
|
56 |
"Products - Data Extra fields & Shipping","Products - Data Extra fields & Shipping"
|
57 |
+
"Products per feed",""Products per feed"
|
58 |
+
"Price Customization","Price Customization"
|
59 |
"SKU","SKU"
|
60 |
"Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime.","Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime."
|
61 |
"Send Status","Send Status"
|
62 |
"Send Stock Level","Send Stock Level"
|
63 |
"Server Name","Server Name"
|
64 |
+
"Shipping Calculation method","Shipping Calculation method"
|
65 |
+
"The Shipping Price","The Shipping Price"
|
66 |
"Settings","Settings"
|
67 |
"Shipping Price","Shipping Price"
|
68 |
"Size","Size"
|
69 |
"Static","Static"
|
70 |
"Stock","Stock"
|
71 |
+
"Default Image","Default Image"
|
72 |
"Strip Tags","Strip Tags"
|
73 |
"Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views.","Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views."
|
74 |
"Text","Text"
|
75 |
+
"Use default price","Use default price"
|
76 |
+
"Use minimum price","Use minimum price"
|
77 |
+
"Use maximum price","Use maximum price"
|
78 |
+
"Use total price","Use total price"
|
79 |
+
"Use Attribute","Use Attribute"
|
80 |
+
"Include the Weight Field","Include the Weight Field"
|
81 |
+
"Include by category","Include by category"
|
82 |
+
"Use the Parent Data for Simple","Use the Parent Data for Simple"
|
83 |
+
"Use the parent data","Use the parent data"
|
84 |
+
"Overwrite the server settings","Overwrite the server settings"
|
85 |
+
"The Memory Limit","The Memory Limit"
|
86 |
+
"Type of the filter","Type of the filter"
|
87 |
+
"This overwrites the maximum amount of memory in bytes that a script is allowed to allocate, eg 1024M.","This overwrites the maximum amount of memory in bytes that a script is allowed to allocate, eg 1024M."
|
88 |
+
"Max Execution Time","Max Execution Time"
|
89 |
+
"This overwrites the maximum time in seconds a script is allowed to run before it is terminated by the parser, eg: 300 (for 5 minutes).","This overwrites the maximum time in seconds a script is allowed to run before it is terminated by the parser, eg: 300 (for 5 minutes)."
|
90 |
+
"Only use this option if it's necessary to overwrite this setting because of your server memory limit or execution time.","Only use this option if it's necessary to overwrite this setting because of your server memory limit or execution time."
|
91 |
+
"The Weight Units","The Weight Units"
|
92 |
+
"We recommend adding as many attributes as possible to the Channable feed as this will greatly improve the quality of your data. Enter the Shipping Price by using the designated extra field.","We recommend adding as many attributes as possible to the Channable feed as this will greatly improve the quality of your data. Enter the Shipping Price by using the designated extra field."
|
93 |
+
"In this section you will see listed all of the standard attributes needed for the Channable Connect. In order to prevent some errors please fill in as many attributes as you can, this will also improve the usability of your data on the Channable platform.","In this section you will see listed all of the standard attributes needed for the Channable Connect. In order to prevent some errors please fill in as many attributes as you can, this will also improve the usability of your data on the Channable platform."
|
94 |
"Title","Title"
|
95 |
"Type","Type"
|
96 |
+
"The Max Execution Time","The Max Execution Time"
|
97 |
+
"This option allows you to include/exclude product from the Channable feed. <br>","This option allows you to include/exclude product from the Channable feed. <br>"
|
|
|
|
|
|
|
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Magmodules_Channable</name>
|
4 |
-
<version>1.3.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.magmodules.eu/license-agreement/">Single Server License</license>
|
7 |
<channel>community</channel>
|
@@ -9,10 +9,10 @@
|
|
9 |
<summary>Magmodules_Channable</summary>
|
10 |
<description>Magmodules_Channable</description>
|
11 |
<notes>Channable Connect</notes>
|
12 |
-
<authors><author><name>Magmodules</name><user>
|
13 |
-
<date>2016-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="Magmodules"><dir name="Channable"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Extra.php" hash="73e9ccaafacba4153962b37a8038c1ad"/><file name="Shipping.php" hash="7f15ea3b4fed5dcb20b37a78dd84cf5d"/></dir><dir name="Renderer"><file name="Select.php" hash="90a71e109a5f96bca26209c922a74961"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Feeds.php" hash="e1127c67a55f163e0c17ae54111b4538"/><file name="Heading.php" hash="cf8597dec6375bbf35014e1a491605d6"/><file name="Note.php" hash="6d7c8056bf0418ab6008dd86ed1d93ca"/><file name="Token.php" hash="d6f89e494288e7d90525d8067a7bb1de"/><file name="Version.php" hash="7be709c731b412258539184c3c4e01dd"/></dir></dir></dir></dir><dir name="Widget"><dir name="Info"><file name="Info.php" hash="
|
16 |
<compatible/>
|
17 |
-
<dependencies
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Magmodules_Channable</name>
|
4 |
+
<version>1.3.9</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.magmodules.eu/license-agreement/">Single Server License</license>
|
7 |
<channel>community</channel>
|
9 |
<summary>Magmodules_Channable</summary>
|
10 |
<description>Magmodules_Channable</description>
|
11 |
<notes>Channable Connect</notes>
|
12 |
+
<authors><author><name>Magmodules</name><user>magmodules</user><email>info@magmodules.nl</email></author></authors>
|
13 |
+
<date>2016-06-07</date>
|
14 |
+
<time>13:25:29</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Magmodules"><dir name="Channable"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Extra.php" hash="73e9ccaafacba4153962b37a8038c1ad"/><file name="Filter.php" hash="b64842b1a7bbe5b879468c034ade22bd"/><file name="Shipping.php" hash="7f15ea3b4fed5dcb20b37a78dd84cf5d"/></dir><dir name="Renderer"><file name="Select.php" hash="90a71e109a5f96bca26209c922a74961"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Feeds.php" hash="e1127c67a55f163e0c17ae54111b4538"/><file name="Heading.php" hash="cf8597dec6375bbf35014e1a491605d6"/><file name="Note.php" hash="6d7c8056bf0418ab6008dd86ed1d93ca"/><file name="Token.php" hash="d6f89e494288e7d90525d8067a7bb1de"/><file name="Version.php" hash="7be709c731b412258539184c3c4e01dd"/></dir></dir></dir></dir><dir name="Widget"><dir name="Info"><file name="Info.php" hash="4abe7d91ead4b6b3ca4bd4959c1dc160"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="acad62b82064676211f7ae058cd3c6d1"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Design"><file name="Extra.php" hash="6f888d0db7ed195c93a84748dd0a0c94"/><file name="Filter.php" hash="4e1e20017d8f55c4bea0b0130425350f"/><file name="Shipping.php" hash="6bea82000c4341ff2c5a9b05c992406c"/></dir></dir><dir name="Source"><file name="Action.php" hash="d655c22564992e02daccd9aac650358a"/><file name="Attribute.php" hash="7665ed3b4facecda30eb88812b559acc"/><file name="Category.php" hash="bad1adc7e7890cfa5b83de0cd7a16835"/><file name="Categorytype.php" hash="7284943e01d7fe3346da7233ea827086"/><file name="Conditions.php" hash="aeb42d43282065fda73860f6a6d9da46"/><file name="Configurable.php" hash="08f157df27a2424e1a91d81bc1a572a7"/><file name="Countries.php" hash="ca6b39297950c9800059c34f7307d627"/><file name="Images.php" hash="d1c8294e6434fa3b0c03635b45964cc0"/><file name="Mainimage.php" hash="c85a8c05df234c188a0aff45a93a6b5c"/><file name="Name.php" hash="86af909704dc4f9320f2154d7c38ff4b"/><file name="Pricemodel.php" hash="359aeff8e7dc6099f55c493abed92a75"/><file name="Selectattribute.php" hash="5579305934bb5b51a443cc9525215975"/><file name="Shipping.php" hash="da2a147c1b6cf21a9f6f47e0456524dd"/><file name="Tax.php" hash="1b50c014c9e204e60cbbfcb883c76a9b"/><file name="Textattribute.php" hash="ea0a682c8a1aa0b51ee3e529c60fcbe8"/><file name="Type.php" hash="ffe6276231f501ac35943d3a83c77447"/><file name="Visibility.php" hash="c2e80831d9d8b5fc6cd642a590812a56"/><file name="Weight.php" hash="ba1e3c862ea2779c275d3d267b819435"/></dir></dir></dir></dir><file name="Channable.php" hash="66930e21c1df5603907dc34438d858e8"/><file name="Common.php" hash="2b0d9b6e5e49369437bb2febd00c5631"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ChannableController.php" hash="e6110aeea10eca08da781c70206f6ed9"/></dir><file name="FeedController.php" hash="e2b205016ebdc274835165111b1ed7f9"/></dir><dir name="etc"><file name="adminhtml.xml" hash="f6d3e3176f08cd111e0655837c3365dd"/><file name="config.xml" hash="1111708bd16ae095d77a0ebd2993c039"/><file name="system.xml" hash="a899289abe17ad825fcac279374743c1"/></dir></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Magmodules_Channable.csv" hash="b7f6f15de57f502ccf1c98e71006a823"/></dir><dir name="nl_NL"><file name="Magmodules_Channable.csv" hash="30a461177468e5333da3ee2aff99594d"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magmodules_Channable.xml" hash="061032d718f1ddd64de211fc7133685c"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|