Extensions to integrate Magento and Mailchimp
An extension that is great for integrating Magento and Mailchimp is the MageMonkey extension. Magento is owned by ebay inc. and is typically used by medium and large sized online stores (they’re actually retiring Magento Go which is their small business Ecommerce hosted platform). Because of the amount of data that can pass between Magento and Mailchimp due to the size of the online stores, it’s important that extensions are reliable and that is definitely a strength of MageMonkey.
One issue I had recently was that, in the MageMonkey settings it’s possible to set a primary Mailchimp list to which customers may subscribe and additional Mailchimp lists. It isn’t possible however to only allow for customers to subscribe to a single list. The client for whom I was setting up the integration is starting to use the power of Mailchimp segmentation so there is no need for customers to be able to subscribe to more than one list. Fortunately the developer of MageMonkey was extremely helpful in providing PHP code change that allowed for no additional lists to be selected.
How to have only one list for Magento customers to select
To have the option to only have the primary list available (called General Subscription) and select a None value in the Additional Lists field add the following to line 46 of app – code – community – Ebizmarts – MageMonkey – Model – Config – Source – List.php
$lists []= array('value' => '', 'label' => Mage::helper('monkey')->__('--- None ---'));
Just in case your line numbering is different then the final PHP of the file will look like
<?php /** * Mailchimp lists source file * * @category Ebizmarts * @package Ebizmarts_MageMonkey * @author Ebizmarts Team <info@ebizmarts.com> * @license http://opensource.org/licenses/osl-3.0.php */ class Ebizmarts_MageMonkey_Model_System_Config_Source_List { /** * Lists for API key will be stored here * * @access protected * @var array Email lists for given API key */ protected $_lists = null; /** * Load lists and store on class property * * @return void */ public function __construct() { if( is_null($this->_lists) ){ $this->_lists = Mage::getSingleton('monkey/api') ->lists(); } } /** * Options getter * * @return array */ public function toOptionArray() { $lists = array(); if(is_array($this->_lists)){ $lists []= array('value' => '', 'label' => Mage::helper('monkey')->__('--- None ---')); foreach($this->_lists['data'] as $list){ $lists []= array('value' => $list['id'], 'label' => $list['name'] . ' (' . $list['stats']['member_count'] . ' ' . Mage::helper('monkey')->__('members') . ')'); } }else{ $lists []= array('value' => '', 'label' => Mage::helper('monkey')->__('--- No data ---')); } return $lists; } }
If you need help in getting more from your Magento customer data then contact us.
Leave a ReplyCancel reply