-
-
Save madrien/c0271d4ec3891f42b80168950abd85cd to your computer and use it in GitHub Desktop.
Saves a CSV file containing all customers' data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| require_once('app/Mage.php'); | |
| umask(0); | |
| Mage::app(); | |
| $customers = Mage::getModel('customer/customer')->getCollection(); | |
| $customers->addAttributeToSelect('*'); | |
| $customersArray[0] = array( | |
| 'entity_id', | |
| 'email', | |
| 'prefix', | |
| 'firstname', | |
| 'middlename', | |
| 'lastname', | |
| 'suffix', | |
| 'website_id', | |
| 'store_id', | |
| 'group_id', | |
| 'created_at', | |
| 'updated_at', | |
| 'is_active', | |
| 'is_subscribed', | |
| 'billing_firstname', | |
| 'billing_lastname', | |
| 'billing_company', | |
| 'billing_street_1', | |
| 'billing_street_2', | |
| 'billing_city', | |
| 'billing_region_id', | |
| 'billing_region', | |
| 'billing_postcode', | |
| 'billing_country_id', | |
| 'billing_telephone', | |
| 'shipping_firstname', | |
| 'shipping_lastname', | |
| 'shipping_company', | |
| 'shipping_street_1', | |
| 'shipping_street_2', | |
| 'shipping_city', | |
| 'shipping_region_id', | |
| 'shipping_region', | |
| 'shipping_postcode', | |
| 'shipping_country_id', | |
| 'shipping_telephone' | |
| ); | |
| $i = 1; | |
| foreach ($customers as $key => $customer) { | |
| $customersArray[$i]['entity_id'] = $customer->getData('entity_id'); | |
| $customersArray[$i]['email'] = $customer->getData('email'); | |
| $customersArray[$i]['prefix'] = $customer->getData('prefix'); | |
| $customersArray[$i]['firstname'] = $customer->getData('firstname'); | |
| $customersArray[$i]['middlename'] = $customer->getData('middlename'); | |
| $customersArray[$i]['lastname'] = $customer->getData('lastname'); | |
| $customersArray[$i]['suffix'] = $customer->getData('suffix'); | |
| $customersArray[$i]['website_id'] = $customer->getData('website_id'); | |
| $customersArray[$i]['store_id'] = $customer->getData('store_id'); | |
| $customersArray[$i]['group_id'] = $customer->getData('group_id'); | |
| $customersArray[$i]['created_at'] = $customer->getData('created_at'); | |
| $customersArray[$i]['updated_at'] = $customer->getData('updated_at'); | |
| $customersArray[$i]['is_active'] = $customer->getData('is_active'); | |
| $subscriber = Mage::getModel('newsletter/subscriber')->loadByEmail($customersArray[$i]['email']); | |
| $subscriberStatus = $subscriber->isSubscribed(); | |
| $customersArray[$i]['is_subscribed'] = ($subscriberStatus? 1 : 0); | |
| if($customer->getDefaultBilling()) { | |
| $billingAddress = Mage::getModel('customer/address')->load($customer->getDefaultBilling()); | |
| if($billingAddress->getId()) { | |
| $customersArray[$i]['billing_firstname'] = $billingAddress->getData('firstname'); | |
| $customersArray[$i]['billing_lastname'] = $billingAddress->getData('lastname'); | |
| $customersArray[$i]['billing_company'] = $billingAddress->getData('company'); | |
| $customersArray[$i]['billing_street_1'] = $billingAddress->getStreet1(); | |
| $customersArray[$i]['billing_street_2'] = $billingAddress->getStreet2(); | |
| $customersArray[$i]['billing_city'] = $billingAddress->getData('city'); | |
| $customersArray[$i]['billing_region_id'] = $billingAddress->getData('region_id'); | |
| $customersArray[$i]['billing_region'] = $billingAddress->getData('region'); | |
| $customersArray[$i]['billing_postcode'] = $billingAddress->getData('postcode'); | |
| $customersArray[$i]['billing_country_id'] = $billingAddress->getData('country_id'); | |
| $customersArray[$i]['billing_telephone'] = $billingAddress->getData('telephone'); | |
| } | |
| } | |
| if($customer->getDefaultShipping()) { | |
| $shippingAddress = Mage::getModel('customer/address')->load($customer->getDefaultShipping()); | |
| if($shippingAddress->getId()) { | |
| $customersArray[$i]['shipping_firstname'] = $shippingAddress->getData('firstname'); | |
| $customersArray[$i]['shipping_lastname'] = $shippingAddress->getData('lastname'); | |
| $customersArray[$i]['shipping_company'] = $shippingAddress->getData('company'); | |
| $customersArray[$i]['shipping_street_1'] = $shippingAddress->getStreet1(); | |
| $customersArray[$i]['shipping_street_2'] = $shippingAddress->getStreet2(); | |
| $customersArray[$i]['shipping_city'] = $shippingAddress->getData('city'); | |
| $customersArray[$i]['shipping_region_id'] = $shippingAddress->getData('region_id'); | |
| $customersArray[$i]['shipping_region'] = $shippingAddress->getData('region'); | |
| $customersArray[$i]['shipping_postcode'] = $shippingAddress->getData('postcode'); | |
| $customersArray[$i]['shipping_country_id'] = $shippingAddress->getData('country_id'); | |
| $customersArray[$i]['shipping_telephone'] = $shippingAddress->getData('telephone'); | |
| } | |
| } | |
| $i++; | |
| } | |
| $file = fopen('customer_export.csv', 'w'); | |
| foreach ($customersArray as $customer) { | |
| fputcsv($file, $customer); | |
| } | |
| fclose($file); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment