Saturday 1 April 2017

Add Customer Address for existing customer using CSV

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
use Magento\Framework\App\Bootstrap;
include('app/bootstrap.php');
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$url = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $url->get('\Magento\Store\Model\StoreManagerInterface');
$websiteId = $storeManager->getWebsite()->getWebsiteId();
$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');
if(($handle = fopen("customers.csv", "r")) !== FALSE) {
while (( $csvFile = fgetcsv($handle, 1000, ",")) !== FALSE) {
//echo $csvFile[0];die;
$customerFactory = $objectManager->get('\Magento\Customer\Model\CustomerFactory');
$customer=$customerFactory->create();
$customer->setWebsiteId($websiteId);
$customer->loadByEmail($csvFile[0]);
$data= $customer->getData();
//echo "<pre>";print_r($data);die('Ram');
$customer_id=$data['entity_id'];
try{
$addresss = $objectManager->get('\Magento\Customer\Model\AddressFactory');
$address = $addresss->create();
$address->setCustomerId($customer_id)
->setFirstname($csvFile[6])
->setLastname($csvFile[9])
->setCountryId($csvFile[17])
->setPostcode($csvFile[19])
->setCity($csvFile[15])
->setTelephone($csvFile[22])
->setFax($csvFile[18])
->setCompany($csvFile[16])
->setStreet($csvFile[21])
->setIsDefaultBilling('1')
->setIsDefaultShipping('1')
->setSaveInAddressBook('1');
$address->save();
echo $customer_id . "Address is Added Successfully";
echo '<br/>';
}
catch(Exception $e){
echo $e->getMessage();
}
}
}
else{
echo $customer_id . "Address is not added Successfully";
}

Product Collection with out of stock and In Stock in Magento 2

Product collection with out of stock and In stock. use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; $collection = $th...