How to resolve Exception #0 (Exception): Notice: Array to string conversion Mailchimp Error The Next CEO of Stack OverflowNot able to add/update magento2 category post upgrade from 1.9 to 2.1.0How to use session and pass some value to phtml file to phtml file?Trying to uninstall moduleadmin grid not workingMagento 2 Admin Menu Fatal Error-session time outMagento2.2.4 : Uninstall a theme throw exceptions?Notice: Array to string conversion errorMagento 2.2.6 exceptionDeleted ShipperHQ module causing error in “All Customers” section of Magento 2“Area code is not set” in var/log
Towers in the ocean; How deep can they be built?
Is it correct to say moon starry nights?
Film where the government was corrupt with aliens, people sent to kill aliens are given rigged visors not showing the right aliens
How do you define an element with an ID attribute using LWC?
How to get the last not-null value in an ordered column of a huge table?
Is it OK to decorate a log book cover?
Airplane gently rocking its wings during whole flight
Help! I cannot understand this game’s notations!
Reshaping json / reparing json inside shell script (remove trailing comma)
Can this note be analyzed as a non-chord tone?
Is it ever safe to open a suspicious HTML file (e.g. email attachment)?
Is a distribution that is normal, but highly skewed, considered Gaussian?
What CSS properties can the br tag have?
What is the difference between "hamstring tendon" and "common hamstring tendon"?
My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?
What would be the main consequences for a country leaving the WTO?
Man transported from Alternate World into ours by a Neutrino Detector
Can you teleport closer to a creature you are Frightened of?
Plausibility of squid whales
Is it convenient to ask the journal's editor for two additional days to complete a review?
Is French Guiana a (hard) EU border?
Is it okay to majorly distort historical facts while writing a fiction story?
Raspberry pi 3 B with Ubuntu 18.04 server arm64: what chip
Can Sneak Attack be used when hitting with an improvised weapon?
How to resolve Exception #0 (Exception): Notice: Array to string conversion Mailchimp Error
The Next CEO of Stack OverflowNot able to add/update magento2 category post upgrade from 1.9 to 2.1.0How to use session and pass some value to phtml file to phtml file?Trying to uninstall moduleadmin grid not workingMagento 2 Admin Menu Fatal Error-session time outMagento2.2.4 : Uninstall a theme throw exceptions?Notice: Array to string conversion errorMagento 2.2.6 exceptionDeleted ShipperHQ module causing error in “All Customers” section of Magento 2“Area code is not set” in var/log
Exception #0 (Exception): Notice: Array to string conversion in
/public_html/vendor/magento/framework/View/Element/Html/Select.php on
line 244
line 235-244 of the Select.php
public function calcOptionHash($optionValue)
return sprintf('%u', crc32($this->getName() . $this->getId() . $optionValue));
this is when i try to go to mailchimp configuration tab on the admin page.
full exception message here:
Exception #0 (Exception): Notice: Array to string conversion in /public_html/vendor/magento/framework/View/Element/Html/Select.php on line 243
#0 /public_html/vendor/magento/framework/View/Element/Html/Select.php(243): MagentoFrameworkAppErrorHandler->handler(8, 'Array to string...', '/p...', 243, Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php(68): MagentoFrameworkViewElementHtmlSelect->calcOptionHash(Array)
#2 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(159): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMap->_prepareArrayRow(Object(MagentoFrameworkDataObject))
#3 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/form/field/array.phtml(117): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->getArrayRows()
#4 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#5 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor), '/p...', Array)
#6 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#7 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#8 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(262): MagentoBackendBlockTemplate->_toHtml()
#9 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(116): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_toHtml()
#10 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(73): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_getElementHtml(Object(MagentoFrameworkDataFormElementText))
#11 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(52): MagentoConfigBlockSystemConfigFormField->_renderValue(Object(MagentoFrameworkDataFormElementText))
#12 /public_html/vendor/magento/framework/Interception/Interceptor.php(58): MagentoConfigBlockSystemConfigFormField->render(Object(MagentoFrameworkDataFormElementText))
#13 /public_html/vendor/magento/framework/Interception/Interceptor.php(138): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callParent('render', Array)
#14 /public_html/vendor/magento/framework/Interception/Interceptor.php(153): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->MagentoFrameworkInterceptionclosure(Object(MagentoFrameworkDataFormElementText))
#15 /public_html/generated/code/Ebizmarts/MailChimp/Block/Adminhtml/System/Config/Form/Field/CustomerMap/Interceptor.php(26): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callPlugins('render', Array, Array)
#16 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->render(Object(MagentoFrameworkDataFormElementText))
#17 /public_html/vendor/magento/framework/Data/Form/Element/Text.php(43): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#18 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementText->getHtml()
#19 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(86): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#20 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(66): MagentoConfigBlockSystemConfigFormFieldset->_getChildrenElementsHtml(Object(MagentoFrameworkDataFormElementFieldset))
#21 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): MagentoConfigBlockSystemConfigFormFieldset->render(Object(MagentoFrameworkDataFormElementFieldset))
#22 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#23 /public_html/vendor/magento/framework/Data/Form.php(325): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#24 /public_html/vendor/magento/framework/Data/Form.php(340): MagentoFrameworkDataForm->toHtml()
#25 /public_html/vendor/magento/module-backend/Block/Widget/Form.php(101): MagentoFrameworkDataForm->getHtml()
#26 /public_html/vendor/magento/module-backend/view/adminhtml/templates/widget/form.phtml(15): MagentoBackendBlockWidgetForm->getFormHtml()
#27 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#28 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigForm), '/p...', Array)
#29 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#30 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#31 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#32 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#33 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system\config\f...')
#34 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system\config\f...')
#35 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(507): MagentoFrameworkViewLayout->renderElement('system\config\f...', true)
#36 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/edit.phtml(22): MagentoFrameworkViewElementAbstractBlock->getChildHtml('form')
#37 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#38 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigEdit), '/p...', Array)
#39 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#40 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#41 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#42 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#43 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system.config.e...')
#44 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system.config.e...')
#45 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('system.config.e...', false)
#46 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('content', false)
#47 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('content')
#48 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('content', false)
#49 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('admin.scope.col...', false)
#50 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('admin.scope.col...')
#51 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('admin.scope.col...', false)
#52 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('main.col', false)
#53 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('main.col')
#54 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('main.col', false)
#55 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.main.conta...', false)
#56 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.main.conta...')
#57 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.main.conta...', false)
#58 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.content', false)
#59 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.content')
#60 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.content', false)
#61 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.wrapper', false)
#62 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.wrapper')
#63 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.wrapper', false)
#64 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('backend.page', false)
#65 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('backend.page')
#66 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('backend.page', false)
#67 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('root', false)
#68 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('root')
#69 /public_html/vendor/magento/framework/View/Layout.php(954): MagentoFrameworkViewLayout->renderElement('root')
#70 /public_html/generated/code/Magento/Framework/View/Layout/Interceptor.php(37): MagentoFrameworkViewLayout->getOutput()
#71 /public_html/vendor/magento/framework/View/Result/Page.php(257): MagentoFrameworkViewLayoutInterceptor->getOutput()
#72 /public_html/vendor/magento/framework/View/Result/Layout.php(170): MagentoFrameworkViewResultPage->render(Object(MagentoFrameworkAppResponseHttpInterceptor))
#73 /public_html/generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php(24): MagentoFrameworkViewResultLayout->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#74 /public_html/vendor/magento/framework/App/Http.php(139): MagentoBackendModelViewResultPageInterceptor->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#75 /public_html/vendor/magento/framework/App/Bootstrap.php(257): MagentoFrameworkAppHttp->launch()
#76 /public_html/index.php(39): MagentoFrameworkAppBootstrap->run(Object(MagentoFrameworkAppHttpInterceptor))
#77 main
CustomerMap.php code as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 12:01 PM
* @file: CustomerMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class CustomerMap extends MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray
/**
* @var VarsMap
*/
protected $_varsRenderer=null;
protected $_mailchimpRenderer=null;
protected function _getVarsRenderer()
if (!$this->_varsRenderer)
$this->_varsRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldVarsMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_varsRenderer->setClass('customer_field_select');
return $this->_varsRenderer;
protected function _getMailchimpRenderer()
if (!$this->_mailchimpRenderer)
$this->_mailchimpRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldMailchimpMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_mailchimpRenderer->setClass('mailchimp_field_select');
return $this->_mailchimpRenderer;
protected function _prepareToRender()
// $this->addColumn('mailchimp', ['label' => __('Mailchimp')]);
$this->addColumn(
'mailchimp_field_id',
['label' => __('Mailchimp'), 'renderer' => $this->_getMailchimpRenderer()]
);
$this->addColumn(
'customer_field_id',
['label' => __('Magento'), 'renderer' => $this->_getVarsRenderer()]
);
$this->_addAfter = false;
$this->_addButtonLabel = __('Add');
protected function _prepareArrayRow(MagentoFrameworkDataObject $row)
$optionExtraAttr = [];
$optionExtraAttr['option_' . $this->_getVarsRenderer()->calcOptionHash($row->getData('customer_field_id'))] =
'selected="selected"';
//$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
// 'selected="selected"';
$row->setData(
'option_extra_attrs',
$optionExtraAttr
);
var/xxx.php.error.log
[21-Mar-2019 06:54:52 UTC] PHP Fatal error: Uncaught Error: Call to undefined method EbizmartsMailChimpHelperData::serialize() in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php:99 Stack trace:
#0 /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php(49): EbizmartsMailChimpHelperVarsMap->serializeValue(Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Model/Config/Backend/VarsMap.php(71): EbizmartsMailChimpHelperVarsMap->makeStorableArrayFieldValue(Array)
#2 /public_html/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(406): EbizmartsMailChimpModelConfigBackendVarsMap->beforeSave()
#3 /public_html/vendor/magento/framework/Model/AbstractModel.php(647): MagentoFrameworkModelResourceModelDbAbstractDb->save(Object(EbizmartsMailChimpModelConfigBackendVarsMapInterceptor))
#4 /public_html/vendor/magento/framework/DB/Transaction.php(129): MagentoFrameworkModelAbstractModel->save()
#5 /public_html/vendor/mage in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php on line 99
VarsMap.php as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 3:41 PM
* @file: VarsMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class VarsMap extends MagentoFrameworkViewElementHtmlSelect
/**
* @var MagentoCustomerModelResourceModelAttributeCollectionFactory
*/
private $_attCollection;
/**
* VarsMap constructor.
* @param MagentoFrameworkViewElementContext $context
* @param MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection
* @param array $data
*/
public function __construct(
MagentoFrameworkViewElementContext $context,
MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection,
array $data = []
)
parent::__construct($context, $data);
$this->_attCollection = $attCollection;
protected function _getCustomerAtt()
$ret = [];
$collection = $this->_attCollection->create();
/**
* @var $item MagentoCustomerModelAttribute
*/
foreach ($collection as $item)
$ret[$item->getId()] = $item->getFrontendLabel();
natsort($ret);
return $ret;
public function setInputName($value)
return $this->setName($value);
/**
* Render block HTML
*
* @return string
*/
public function _toHtml()
if (!$this->getOptions())
foreach ($this->_getCustomerAtt() as $attId => $attLabel)
$this->addOption($attId, addslashes($attLabel));
return parent::_toHtml();
magento2 exception array mailchimp conversion
add a comment |
Exception #0 (Exception): Notice: Array to string conversion in
/public_html/vendor/magento/framework/View/Element/Html/Select.php on
line 244
line 235-244 of the Select.php
public function calcOptionHash($optionValue)
return sprintf('%u', crc32($this->getName() . $this->getId() . $optionValue));
this is when i try to go to mailchimp configuration tab on the admin page.
full exception message here:
Exception #0 (Exception): Notice: Array to string conversion in /public_html/vendor/magento/framework/View/Element/Html/Select.php on line 243
#0 /public_html/vendor/magento/framework/View/Element/Html/Select.php(243): MagentoFrameworkAppErrorHandler->handler(8, 'Array to string...', '/p...', 243, Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php(68): MagentoFrameworkViewElementHtmlSelect->calcOptionHash(Array)
#2 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(159): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMap->_prepareArrayRow(Object(MagentoFrameworkDataObject))
#3 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/form/field/array.phtml(117): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->getArrayRows()
#4 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#5 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor), '/p...', Array)
#6 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#7 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#8 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(262): MagentoBackendBlockTemplate->_toHtml()
#9 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(116): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_toHtml()
#10 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(73): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_getElementHtml(Object(MagentoFrameworkDataFormElementText))
#11 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(52): MagentoConfigBlockSystemConfigFormField->_renderValue(Object(MagentoFrameworkDataFormElementText))
#12 /public_html/vendor/magento/framework/Interception/Interceptor.php(58): MagentoConfigBlockSystemConfigFormField->render(Object(MagentoFrameworkDataFormElementText))
#13 /public_html/vendor/magento/framework/Interception/Interceptor.php(138): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callParent('render', Array)
#14 /public_html/vendor/magento/framework/Interception/Interceptor.php(153): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->MagentoFrameworkInterceptionclosure(Object(MagentoFrameworkDataFormElementText))
#15 /public_html/generated/code/Ebizmarts/MailChimp/Block/Adminhtml/System/Config/Form/Field/CustomerMap/Interceptor.php(26): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callPlugins('render', Array, Array)
#16 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->render(Object(MagentoFrameworkDataFormElementText))
#17 /public_html/vendor/magento/framework/Data/Form/Element/Text.php(43): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#18 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementText->getHtml()
#19 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(86): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#20 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(66): MagentoConfigBlockSystemConfigFormFieldset->_getChildrenElementsHtml(Object(MagentoFrameworkDataFormElementFieldset))
#21 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): MagentoConfigBlockSystemConfigFormFieldset->render(Object(MagentoFrameworkDataFormElementFieldset))
#22 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#23 /public_html/vendor/magento/framework/Data/Form.php(325): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#24 /public_html/vendor/magento/framework/Data/Form.php(340): MagentoFrameworkDataForm->toHtml()
#25 /public_html/vendor/magento/module-backend/Block/Widget/Form.php(101): MagentoFrameworkDataForm->getHtml()
#26 /public_html/vendor/magento/module-backend/view/adminhtml/templates/widget/form.phtml(15): MagentoBackendBlockWidgetForm->getFormHtml()
#27 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#28 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigForm), '/p...', Array)
#29 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#30 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#31 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#32 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#33 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system\config\f...')
#34 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system\config\f...')
#35 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(507): MagentoFrameworkViewLayout->renderElement('system\config\f...', true)
#36 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/edit.phtml(22): MagentoFrameworkViewElementAbstractBlock->getChildHtml('form')
#37 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#38 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigEdit), '/p...', Array)
#39 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#40 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#41 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#42 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#43 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system.config.e...')
#44 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system.config.e...')
#45 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('system.config.e...', false)
#46 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('content', false)
#47 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('content')
#48 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('content', false)
#49 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('admin.scope.col...', false)
#50 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('admin.scope.col...')
#51 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('admin.scope.col...', false)
#52 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('main.col', false)
#53 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('main.col')
#54 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('main.col', false)
#55 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.main.conta...', false)
#56 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.main.conta...')
#57 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.main.conta...', false)
#58 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.content', false)
#59 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.content')
#60 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.content', false)
#61 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.wrapper', false)
#62 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.wrapper')
#63 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.wrapper', false)
#64 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('backend.page', false)
#65 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('backend.page')
#66 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('backend.page', false)
#67 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('root', false)
#68 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('root')
#69 /public_html/vendor/magento/framework/View/Layout.php(954): MagentoFrameworkViewLayout->renderElement('root')
#70 /public_html/generated/code/Magento/Framework/View/Layout/Interceptor.php(37): MagentoFrameworkViewLayout->getOutput()
#71 /public_html/vendor/magento/framework/View/Result/Page.php(257): MagentoFrameworkViewLayoutInterceptor->getOutput()
#72 /public_html/vendor/magento/framework/View/Result/Layout.php(170): MagentoFrameworkViewResultPage->render(Object(MagentoFrameworkAppResponseHttpInterceptor))
#73 /public_html/generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php(24): MagentoFrameworkViewResultLayout->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#74 /public_html/vendor/magento/framework/App/Http.php(139): MagentoBackendModelViewResultPageInterceptor->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#75 /public_html/vendor/magento/framework/App/Bootstrap.php(257): MagentoFrameworkAppHttp->launch()
#76 /public_html/index.php(39): MagentoFrameworkAppBootstrap->run(Object(MagentoFrameworkAppHttpInterceptor))
#77 main
CustomerMap.php code as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 12:01 PM
* @file: CustomerMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class CustomerMap extends MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray
/**
* @var VarsMap
*/
protected $_varsRenderer=null;
protected $_mailchimpRenderer=null;
protected function _getVarsRenderer()
if (!$this->_varsRenderer)
$this->_varsRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldVarsMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_varsRenderer->setClass('customer_field_select');
return $this->_varsRenderer;
protected function _getMailchimpRenderer()
if (!$this->_mailchimpRenderer)
$this->_mailchimpRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldMailchimpMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_mailchimpRenderer->setClass('mailchimp_field_select');
return $this->_mailchimpRenderer;
protected function _prepareToRender()
// $this->addColumn('mailchimp', ['label' => __('Mailchimp')]);
$this->addColumn(
'mailchimp_field_id',
['label' => __('Mailchimp'), 'renderer' => $this->_getMailchimpRenderer()]
);
$this->addColumn(
'customer_field_id',
['label' => __('Magento'), 'renderer' => $this->_getVarsRenderer()]
);
$this->_addAfter = false;
$this->_addButtonLabel = __('Add');
protected function _prepareArrayRow(MagentoFrameworkDataObject $row)
$optionExtraAttr = [];
$optionExtraAttr['option_' . $this->_getVarsRenderer()->calcOptionHash($row->getData('customer_field_id'))] =
'selected="selected"';
//$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
// 'selected="selected"';
$row->setData(
'option_extra_attrs',
$optionExtraAttr
);
var/xxx.php.error.log
[21-Mar-2019 06:54:52 UTC] PHP Fatal error: Uncaught Error: Call to undefined method EbizmartsMailChimpHelperData::serialize() in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php:99 Stack trace:
#0 /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php(49): EbizmartsMailChimpHelperVarsMap->serializeValue(Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Model/Config/Backend/VarsMap.php(71): EbizmartsMailChimpHelperVarsMap->makeStorableArrayFieldValue(Array)
#2 /public_html/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(406): EbizmartsMailChimpModelConfigBackendVarsMap->beforeSave()
#3 /public_html/vendor/magento/framework/Model/AbstractModel.php(647): MagentoFrameworkModelResourceModelDbAbstractDb->save(Object(EbizmartsMailChimpModelConfigBackendVarsMapInterceptor))
#4 /public_html/vendor/magento/framework/DB/Transaction.php(129): MagentoFrameworkModelAbstractModel->save()
#5 /public_html/vendor/mage in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php on line 99
VarsMap.php as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 3:41 PM
* @file: VarsMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class VarsMap extends MagentoFrameworkViewElementHtmlSelect
/**
* @var MagentoCustomerModelResourceModelAttributeCollectionFactory
*/
private $_attCollection;
/**
* VarsMap constructor.
* @param MagentoFrameworkViewElementContext $context
* @param MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection
* @param array $data
*/
public function __construct(
MagentoFrameworkViewElementContext $context,
MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection,
array $data = []
)
parent::__construct($context, $data);
$this->_attCollection = $attCollection;
protected function _getCustomerAtt()
$ret = [];
$collection = $this->_attCollection->create();
/**
* @var $item MagentoCustomerModelAttribute
*/
foreach ($collection as $item)
$ret[$item->getId()] = $item->getFrontendLabel();
natsort($ret);
return $ret;
public function setInputName($value)
return $this->setName($value);
/**
* Render block HTML
*
* @return string
*/
public function _toHtml()
if (!$this->getOptions())
foreach ($this->_getCustomerAtt() as $attId => $attLabel)
$this->addOption($attId, addslashes($attLabel));
return parent::_toHtml();
magento2 exception array mailchimp conversion
add a comment |
Exception #0 (Exception): Notice: Array to string conversion in
/public_html/vendor/magento/framework/View/Element/Html/Select.php on
line 244
line 235-244 of the Select.php
public function calcOptionHash($optionValue)
return sprintf('%u', crc32($this->getName() . $this->getId() . $optionValue));
this is when i try to go to mailchimp configuration tab on the admin page.
full exception message here:
Exception #0 (Exception): Notice: Array to string conversion in /public_html/vendor/magento/framework/View/Element/Html/Select.php on line 243
#0 /public_html/vendor/magento/framework/View/Element/Html/Select.php(243): MagentoFrameworkAppErrorHandler->handler(8, 'Array to string...', '/p...', 243, Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php(68): MagentoFrameworkViewElementHtmlSelect->calcOptionHash(Array)
#2 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(159): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMap->_prepareArrayRow(Object(MagentoFrameworkDataObject))
#3 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/form/field/array.phtml(117): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->getArrayRows()
#4 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#5 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor), '/p...', Array)
#6 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#7 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#8 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(262): MagentoBackendBlockTemplate->_toHtml()
#9 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(116): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_toHtml()
#10 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(73): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_getElementHtml(Object(MagentoFrameworkDataFormElementText))
#11 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(52): MagentoConfigBlockSystemConfigFormField->_renderValue(Object(MagentoFrameworkDataFormElementText))
#12 /public_html/vendor/magento/framework/Interception/Interceptor.php(58): MagentoConfigBlockSystemConfigFormField->render(Object(MagentoFrameworkDataFormElementText))
#13 /public_html/vendor/magento/framework/Interception/Interceptor.php(138): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callParent('render', Array)
#14 /public_html/vendor/magento/framework/Interception/Interceptor.php(153): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->MagentoFrameworkInterceptionclosure(Object(MagentoFrameworkDataFormElementText))
#15 /public_html/generated/code/Ebizmarts/MailChimp/Block/Adminhtml/System/Config/Form/Field/CustomerMap/Interceptor.php(26): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callPlugins('render', Array, Array)
#16 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->render(Object(MagentoFrameworkDataFormElementText))
#17 /public_html/vendor/magento/framework/Data/Form/Element/Text.php(43): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#18 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementText->getHtml()
#19 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(86): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#20 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(66): MagentoConfigBlockSystemConfigFormFieldset->_getChildrenElementsHtml(Object(MagentoFrameworkDataFormElementFieldset))
#21 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): MagentoConfigBlockSystemConfigFormFieldset->render(Object(MagentoFrameworkDataFormElementFieldset))
#22 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#23 /public_html/vendor/magento/framework/Data/Form.php(325): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#24 /public_html/vendor/magento/framework/Data/Form.php(340): MagentoFrameworkDataForm->toHtml()
#25 /public_html/vendor/magento/module-backend/Block/Widget/Form.php(101): MagentoFrameworkDataForm->getHtml()
#26 /public_html/vendor/magento/module-backend/view/adminhtml/templates/widget/form.phtml(15): MagentoBackendBlockWidgetForm->getFormHtml()
#27 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#28 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigForm), '/p...', Array)
#29 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#30 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#31 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#32 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#33 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system\config\f...')
#34 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system\config\f...')
#35 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(507): MagentoFrameworkViewLayout->renderElement('system\config\f...', true)
#36 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/edit.phtml(22): MagentoFrameworkViewElementAbstractBlock->getChildHtml('form')
#37 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#38 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigEdit), '/p...', Array)
#39 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#40 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#41 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#42 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#43 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system.config.e...')
#44 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system.config.e...')
#45 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('system.config.e...', false)
#46 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('content', false)
#47 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('content')
#48 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('content', false)
#49 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('admin.scope.col...', false)
#50 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('admin.scope.col...')
#51 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('admin.scope.col...', false)
#52 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('main.col', false)
#53 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('main.col')
#54 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('main.col', false)
#55 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.main.conta...', false)
#56 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.main.conta...')
#57 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.main.conta...', false)
#58 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.content', false)
#59 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.content')
#60 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.content', false)
#61 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.wrapper', false)
#62 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.wrapper')
#63 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.wrapper', false)
#64 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('backend.page', false)
#65 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('backend.page')
#66 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('backend.page', false)
#67 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('root', false)
#68 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('root')
#69 /public_html/vendor/magento/framework/View/Layout.php(954): MagentoFrameworkViewLayout->renderElement('root')
#70 /public_html/generated/code/Magento/Framework/View/Layout/Interceptor.php(37): MagentoFrameworkViewLayout->getOutput()
#71 /public_html/vendor/magento/framework/View/Result/Page.php(257): MagentoFrameworkViewLayoutInterceptor->getOutput()
#72 /public_html/vendor/magento/framework/View/Result/Layout.php(170): MagentoFrameworkViewResultPage->render(Object(MagentoFrameworkAppResponseHttpInterceptor))
#73 /public_html/generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php(24): MagentoFrameworkViewResultLayout->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#74 /public_html/vendor/magento/framework/App/Http.php(139): MagentoBackendModelViewResultPageInterceptor->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#75 /public_html/vendor/magento/framework/App/Bootstrap.php(257): MagentoFrameworkAppHttp->launch()
#76 /public_html/index.php(39): MagentoFrameworkAppBootstrap->run(Object(MagentoFrameworkAppHttpInterceptor))
#77 main
CustomerMap.php code as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 12:01 PM
* @file: CustomerMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class CustomerMap extends MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray
/**
* @var VarsMap
*/
protected $_varsRenderer=null;
protected $_mailchimpRenderer=null;
protected function _getVarsRenderer()
if (!$this->_varsRenderer)
$this->_varsRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldVarsMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_varsRenderer->setClass('customer_field_select');
return $this->_varsRenderer;
protected function _getMailchimpRenderer()
if (!$this->_mailchimpRenderer)
$this->_mailchimpRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldMailchimpMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_mailchimpRenderer->setClass('mailchimp_field_select');
return $this->_mailchimpRenderer;
protected function _prepareToRender()
// $this->addColumn('mailchimp', ['label' => __('Mailchimp')]);
$this->addColumn(
'mailchimp_field_id',
['label' => __('Mailchimp'), 'renderer' => $this->_getMailchimpRenderer()]
);
$this->addColumn(
'customer_field_id',
['label' => __('Magento'), 'renderer' => $this->_getVarsRenderer()]
);
$this->_addAfter = false;
$this->_addButtonLabel = __('Add');
protected function _prepareArrayRow(MagentoFrameworkDataObject $row)
$optionExtraAttr = [];
$optionExtraAttr['option_' . $this->_getVarsRenderer()->calcOptionHash($row->getData('customer_field_id'))] =
'selected="selected"';
//$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
// 'selected="selected"';
$row->setData(
'option_extra_attrs',
$optionExtraAttr
);
var/xxx.php.error.log
[21-Mar-2019 06:54:52 UTC] PHP Fatal error: Uncaught Error: Call to undefined method EbizmartsMailChimpHelperData::serialize() in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php:99 Stack trace:
#0 /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php(49): EbizmartsMailChimpHelperVarsMap->serializeValue(Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Model/Config/Backend/VarsMap.php(71): EbizmartsMailChimpHelperVarsMap->makeStorableArrayFieldValue(Array)
#2 /public_html/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(406): EbizmartsMailChimpModelConfigBackendVarsMap->beforeSave()
#3 /public_html/vendor/magento/framework/Model/AbstractModel.php(647): MagentoFrameworkModelResourceModelDbAbstractDb->save(Object(EbizmartsMailChimpModelConfigBackendVarsMapInterceptor))
#4 /public_html/vendor/magento/framework/DB/Transaction.php(129): MagentoFrameworkModelAbstractModel->save()
#5 /public_html/vendor/mage in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php on line 99
VarsMap.php as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 3:41 PM
* @file: VarsMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class VarsMap extends MagentoFrameworkViewElementHtmlSelect
/**
* @var MagentoCustomerModelResourceModelAttributeCollectionFactory
*/
private $_attCollection;
/**
* VarsMap constructor.
* @param MagentoFrameworkViewElementContext $context
* @param MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection
* @param array $data
*/
public function __construct(
MagentoFrameworkViewElementContext $context,
MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection,
array $data = []
)
parent::__construct($context, $data);
$this->_attCollection = $attCollection;
protected function _getCustomerAtt()
$ret = [];
$collection = $this->_attCollection->create();
/**
* @var $item MagentoCustomerModelAttribute
*/
foreach ($collection as $item)
$ret[$item->getId()] = $item->getFrontendLabel();
natsort($ret);
return $ret;
public function setInputName($value)
return $this->setName($value);
/**
* Render block HTML
*
* @return string
*/
public function _toHtml()
if (!$this->getOptions())
foreach ($this->_getCustomerAtt() as $attId => $attLabel)
$this->addOption($attId, addslashes($attLabel));
return parent::_toHtml();
magento2 exception array mailchimp conversion
Exception #0 (Exception): Notice: Array to string conversion in
/public_html/vendor/magento/framework/View/Element/Html/Select.php on
line 244
line 235-244 of the Select.php
public function calcOptionHash($optionValue)
return sprintf('%u', crc32($this->getName() . $this->getId() . $optionValue));
this is when i try to go to mailchimp configuration tab on the admin page.
full exception message here:
Exception #0 (Exception): Notice: Array to string conversion in /public_html/vendor/magento/framework/View/Element/Html/Select.php on line 243
#0 /public_html/vendor/magento/framework/View/Element/Html/Select.php(243): MagentoFrameworkAppErrorHandler->handler(8, 'Array to string...', '/p...', 243, Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php(68): MagentoFrameworkViewElementHtmlSelect->calcOptionHash(Array)
#2 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(159): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMap->_prepareArrayRow(Object(MagentoFrameworkDataObject))
#3 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/form/field/array.phtml(117): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->getArrayRows()
#4 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#5 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor), '/p...', Array)
#6 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#7 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#8 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(262): MagentoBackendBlockTemplate->_toHtml()
#9 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php(116): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_toHtml()
#10 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(73): MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray->_getElementHtml(Object(MagentoFrameworkDataFormElementText))
#11 /public_html/vendor/magento/module-config/Block/System/Config/Form/Field.php(52): MagentoConfigBlockSystemConfigFormField->_renderValue(Object(MagentoFrameworkDataFormElementText))
#12 /public_html/vendor/magento/framework/Interception/Interceptor.php(58): MagentoConfigBlockSystemConfigFormField->render(Object(MagentoFrameworkDataFormElementText))
#13 /public_html/vendor/magento/framework/Interception/Interceptor.php(138): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callParent('render', Array)
#14 /public_html/vendor/magento/framework/Interception/Interceptor.php(153): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->MagentoFrameworkInterceptionclosure(Object(MagentoFrameworkDataFormElementText))
#15 /public_html/generated/code/Ebizmarts/MailChimp/Block/Adminhtml/System/Config/Form/Field/CustomerMap/Interceptor.php(26): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->___callPlugins('render', Array, Array)
#16 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldCustomerMapInterceptor->render(Object(MagentoFrameworkDataFormElementText))
#17 /public_html/vendor/magento/framework/Data/Form/Element/Text.php(43): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#18 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementText->getHtml()
#19 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(86): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#20 /public_html/vendor/magento/module-config/Block/System/Config/Form/Fieldset.php(66): MagentoConfigBlockSystemConfigFormFieldset->_getChildrenElementsHtml(Object(MagentoFrameworkDataFormElementFieldset))
#21 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(459): MagentoConfigBlockSystemConfigFormFieldset->render(Object(MagentoFrameworkDataFormElementFieldset))
#22 /public_html/vendor/magento/framework/Data/Form/Element/AbstractElement.php(473): MagentoFrameworkDataFormElementAbstractElement->getHtml()
#23 /public_html/vendor/magento/framework/Data/Form.php(325): MagentoFrameworkDataFormElementAbstractElement->toHtml()
#24 /public_html/vendor/magento/framework/Data/Form.php(340): MagentoFrameworkDataForm->toHtml()
#25 /public_html/vendor/magento/module-backend/Block/Widget/Form.php(101): MagentoFrameworkDataForm->getHtml()
#26 /public_html/vendor/magento/module-backend/view/adminhtml/templates/widget/form.phtml(15): MagentoBackendBlockWidgetForm->getFormHtml()
#27 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#28 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigForm), '/p...', Array)
#29 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#30 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#31 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#32 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#33 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system\config\f...')
#34 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system\config\f...')
#35 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(507): MagentoFrameworkViewLayout->renderElement('system\config\f...', true)
#36 /public_html/vendor/magento/module-config/view/adminhtml/templates/system/config/edit.phtml(22): MagentoFrameworkViewElementAbstractBlock->getChildHtml('form')
#37 /public_html/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/p...')
#38 /public_html/vendor/magento/framework/View/Element/Template.php(270): MagentoFrameworkViewTemplateEnginePhp->render(Object(MagentoConfigBlockSystemConfigEdit), '/p...', Array)
#39 /public_html/vendor/magento/framework/View/Element/Template.php(300): MagentoFrameworkViewElementTemplate->fetchView('/p...')
#40 /public_html/vendor/magento/module-backend/Block/Template.php(126): MagentoFrameworkViewElementTemplate->_toHtml()
#41 /public_html/vendor/magento/framework/View/Element/AbstractBlock.php(667): MagentoBackendBlockTemplate->_toHtml()
#42 /public_html/vendor/magento/framework/View/Layout.php(557): MagentoFrameworkViewElementAbstractBlock->toHtml()
#43 /public_html/vendor/magento/framework/View/Layout.php(533): MagentoFrameworkViewLayout->_renderBlock('system.config.e...')
#44 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('system.config.e...')
#45 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('system.config.e...', false)
#46 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('content', false)
#47 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('content')
#48 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('content', false)
#49 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('admin.scope.col...', false)
#50 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('admin.scope.col...')
#51 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('admin.scope.col...', false)
#52 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('main.col', false)
#53 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('main.col')
#54 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('main.col', false)
#55 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.main.conta...', false)
#56 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.main.conta...')
#57 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.main.conta...', false)
#58 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.content', false)
#59 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.content')
#60 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.content', false)
#61 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('page.wrapper', false)
#62 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('page.wrapper')
#63 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('page.wrapper', false)
#64 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('backend.page', false)
#65 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('backend.page')
#66 /public_html/vendor/magento/framework/View/Layout.php(585): MagentoFrameworkViewLayout->renderElement('backend.page', false)
#67 /public_html/vendor/magento/framework/View/Layout.php(535): MagentoFrameworkViewLayout->_renderContainer('root', false)
#68 /public_html/vendor/magento/framework/View/Layout.php(488): MagentoFrameworkViewLayout->renderNonCachedElement('root')
#69 /public_html/vendor/magento/framework/View/Layout.php(954): MagentoFrameworkViewLayout->renderElement('root')
#70 /public_html/generated/code/Magento/Framework/View/Layout/Interceptor.php(37): MagentoFrameworkViewLayout->getOutput()
#71 /public_html/vendor/magento/framework/View/Result/Page.php(257): MagentoFrameworkViewLayoutInterceptor->getOutput()
#72 /public_html/vendor/magento/framework/View/Result/Layout.php(170): MagentoFrameworkViewResultPage->render(Object(MagentoFrameworkAppResponseHttpInterceptor))
#73 /public_html/generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php(24): MagentoFrameworkViewResultLayout->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#74 /public_html/vendor/magento/framework/App/Http.php(139): MagentoBackendModelViewResultPageInterceptor->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#75 /public_html/vendor/magento/framework/App/Bootstrap.php(257): MagentoFrameworkAppHttp->launch()
#76 /public_html/index.php(39): MagentoFrameworkAppBootstrap->run(Object(MagentoFrameworkAppHttpInterceptor))
#77 main
CustomerMap.php code as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 12:01 PM
* @file: CustomerMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class CustomerMap extends MagentoConfigBlockSystemConfigFormFieldFieldArrayAbstractFieldArray
/**
* @var VarsMap
*/
protected $_varsRenderer=null;
protected $_mailchimpRenderer=null;
protected function _getVarsRenderer()
if (!$this->_varsRenderer)
$this->_varsRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldVarsMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_varsRenderer->setClass('customer_field_select');
return $this->_varsRenderer;
protected function _getMailchimpRenderer()
if (!$this->_mailchimpRenderer)
$this->_mailchimpRenderer = $this->getLayout()->createBlock(
'EbizmartsMailChimpBlockAdminhtmlSystemConfigFormFieldMailchimpMap',
'',
['data' => ['is_render_to_js_template' => true]]
);
$this->_mailchimpRenderer->setClass('mailchimp_field_select');
return $this->_mailchimpRenderer;
protected function _prepareToRender()
// $this->addColumn('mailchimp', ['label' => __('Mailchimp')]);
$this->addColumn(
'mailchimp_field_id',
['label' => __('Mailchimp'), 'renderer' => $this->_getMailchimpRenderer()]
);
$this->addColumn(
'customer_field_id',
['label' => __('Magento'), 'renderer' => $this->_getVarsRenderer()]
);
$this->_addAfter = false;
$this->_addButtonLabel = __('Add');
protected function _prepareArrayRow(MagentoFrameworkDataObject $row)
$optionExtraAttr = [];
$optionExtraAttr['option_' . $this->_getVarsRenderer()->calcOptionHash($row->getData('customer_field_id'))] =
'selected="selected"';
//$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
// 'selected="selected"';
$row->setData(
'option_extra_attrs',
$optionExtraAttr
);
var/xxx.php.error.log
[21-Mar-2019 06:54:52 UTC] PHP Fatal error: Uncaught Error: Call to undefined method EbizmartsMailChimpHelperData::serialize() in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php:99 Stack trace:
#0 /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php(49): EbizmartsMailChimpHelperVarsMap->serializeValue(Array)
#1 /public_html/vendor/mailchimp/mc-magento2/Model/Config/Backend/VarsMap.php(71): EbizmartsMailChimpHelperVarsMap->makeStorableArrayFieldValue(Array)
#2 /public_html/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(406): EbizmartsMailChimpModelConfigBackendVarsMap->beforeSave()
#3 /public_html/vendor/magento/framework/Model/AbstractModel.php(647): MagentoFrameworkModelResourceModelDbAbstractDb->save(Object(EbizmartsMailChimpModelConfigBackendVarsMapInterceptor))
#4 /public_html/vendor/magento/framework/DB/Transaction.php(129): MagentoFrameworkModelAbstractModel->save()
#5 /public_html/vendor/mage in /public_html/vendor/mailchimp/mc-magento2/Helper/VarsMap.php on line 99
VarsMap.php as below
<?php
/**
* mc-magento2 Magento Component
*
* @category Ebizmarts
* @package mc-magento2
* @author Ebizmarts Team <info@ebizmarts.com>
* @copyright Ebizmarts (http://ebizmarts.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @date: 10/27/17 3:41 PM
* @file: VarsMap.php
*/
namespace EbizmartsMailChimpBlockAdminhtmlSystemConfigFormField;
class VarsMap extends MagentoFrameworkViewElementHtmlSelect
/**
* @var MagentoCustomerModelResourceModelAttributeCollectionFactory
*/
private $_attCollection;
/**
* VarsMap constructor.
* @param MagentoFrameworkViewElementContext $context
* @param MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection
* @param array $data
*/
public function __construct(
MagentoFrameworkViewElementContext $context,
MagentoCustomerModelResourceModelAttributeCollectionFactory $attCollection,
array $data = []
)
parent::__construct($context, $data);
$this->_attCollection = $attCollection;
protected function _getCustomerAtt()
$ret = [];
$collection = $this->_attCollection->create();
/**
* @var $item MagentoCustomerModelAttribute
*/
foreach ($collection as $item)
$ret[$item->getId()] = $item->getFrontendLabel();
natsort($ret);
return $ret;
public function setInputName($value)
return $this->setName($value);
/**
* Render block HTML
*
* @return string
*/
public function _toHtml()
if (!$this->getOptions())
foreach ($this->_getCustomerAtt() as $attId => $attLabel)
$this->addOption($attId, addslashes($attLabel));
return parent::_toHtml();
magento2 exception array mailchimp conversion
magento2 exception array mailchimp conversion
edited Mar 21 at 7:04
Kris Wen
asked Mar 20 at 22:47
Kris WenKris Wen
1268
1268
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
It is an error of Mailchimp module just go to the below location
Magento_root/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php
On the line number 68 comment the below code
$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
'selected="selected"';
Since initially your Magento store is not connected with the Mailchimp so it is not able to fetch the Mailchimp field values & that's why it is giving error.
Please refer this
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
1
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
add a comment |
The error says that the return data type in select is Array
but it has been printed as a string. To resolve this, you have to change the way return type is printed using print_r
function.
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
you did like thisreturn print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?
– magefms
Mar 21 at 6:05
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
2
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
|
show 5 more comments
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f266759%2fhow-to-resolve-exception-0-exception-notice-array-to-string-conversion-mail%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
It is an error of Mailchimp module just go to the below location
Magento_root/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php
On the line number 68 comment the below code
$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
'selected="selected"';
Since initially your Magento store is not connected with the Mailchimp so it is not able to fetch the Mailchimp field values & that's why it is giving error.
Please refer this
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
1
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
add a comment |
It is an error of Mailchimp module just go to the below location
Magento_root/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php
On the line number 68 comment the below code
$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
'selected="selected"';
Since initially your Magento store is not connected with the Mailchimp so it is not able to fetch the Mailchimp field values & that's why it is giving error.
Please refer this
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
1
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
add a comment |
It is an error of Mailchimp module just go to the below location
Magento_root/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php
On the line number 68 comment the below code
$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
'selected="selected"';
Since initially your Magento store is not connected with the Mailchimp so it is not able to fetch the Mailchimp field values & that's why it is giving error.
Please refer this
It is an error of Mailchimp module just go to the below location
Magento_root/vendor/mailchimp/mc-magento2/Block/Adminhtml/System/Config/Form/Field/CustomerMap.php
On the line number 68 comment the below code
$optionExtraAttr['option_' . $this->_getMailchimpRenderer()->calcOptionHash($row->getData('mailchimp_field_id'))] =
'selected="selected"';
Since initially your Magento store is not connected with the Mailchimp so it is not able to fetch the Mailchimp field values & that's why it is giving error.
Please refer this
answered Mar 21 at 3:57
ABHISHEK TRIPATHIABHISHEK TRIPATHI
2,0141728
2,0141728
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
1
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
add a comment |
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
1
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
Hi, I tried comment out the line 68 & 69. but when i tried to save at the configuration page. i still get the error page HTTP Error 500. any solution to that? thanks
– Kris Wen
Mar 21 at 6:01
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
500 error means there is some problem with the syntax or the code can you please update your code here?
– ABHISHEK TRIPATHI
Mar 21 at 6:13
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
i add the CustomerMap.php code in the question, thank you.
– Kris Wen
Mar 21 at 6:30
1
1
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
after i uninstall the mailchimp extension, remove mailchimp and mailchimp-lib from composer, then i install this version (for magento 2.2.x) "composer require mailchimp/mc-magento2:101.2.34" after that, i apply your solution above (comment out the line 68,69). Everything works now. I'll pick your answer as a solution, thank you
– Kris Wen
Mar 21 at 7:54
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
You are always welcome @KrisWen !! happy to help you :)!!
– ABHISHEK TRIPATHI
Mar 21 at 8:17
add a comment |
The error says that the return data type in select is Array
but it has been printed as a string. To resolve this, you have to change the way return type is printed using print_r
function.
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
you did like thisreturn print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?
– magefms
Mar 21 at 6:05
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
2
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
|
show 5 more comments
The error says that the return data type in select is Array
but it has been printed as a string. To resolve this, you have to change the way return type is printed using print_r
function.
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
you did like thisreturn print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?
– magefms
Mar 21 at 6:05
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
2
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
|
show 5 more comments
The error says that the return data type in select is Array
but it has been printed as a string. To resolve this, you have to change the way return type is printed using print_r
function.
The error says that the return data type in select is Array
but it has been printed as a string. To resolve this, you have to change the way return type is printed using print_r
function.
edited Mar 21 at 1:20
answered Mar 21 at 1:11
magefmsmagefms
2,1342426
2,1342426
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
you did like thisreturn print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?
– magefms
Mar 21 at 6:05
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
2
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
|
show 5 more comments
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
you did like thisreturn print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?
– magefms
Mar 21 at 6:05
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
2
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
Hi, i tried that,but still getting the same error message. can you help? thanks.
– Kris Wen
Mar 21 at 6:04
you did like this
return print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?– magefms
Mar 21 at 6:05
you did like this
return print_r('%u', crc32($this->getName() . $this->getId() . $optionValue));
?– magefms
Mar 21 at 6:05
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
yes, that's what i did.
– Kris Wen
Mar 21 at 6:28
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
I see no error on your CustomerMap.php code
– magefms
Mar 21 at 7:07
2
2
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
thanks, i replace with this version "mailchimp/mc-magento2:101.2.34" , then i had to apply the fix from @ABHISHEK TRIPATHI to get it work. thank you both.
– Kris Wen
Mar 21 at 7:57
|
show 5 more comments
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f266759%2fhow-to-resolve-exception-0-exception-notice-array-to-string-conversion-mail%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown