Category Archives: Magento 2

How To Create Credit Memo Programmatically in Magento 2

If would like to make a refund, how can I Create Credit Memo Programmatically in Magento 2?
We will need to get invoice and order object first , then use class – CreditmemoService to create credit memo.
$order = \Magento\Framework\App\ObjectManager::getInstance()->get('Magento\Sales\Model\Order');
$creditmemoFactory = \Magento\Framework\App\ObjectManager::getInstance()->get('Magento\Sales\Model\Order\CreditmemoFactory');
$invoice = \Magento\Framework\App\ObjectManager::getInstance()->get('Magento\Sales\Model\Order\Invoice');
$creditmemoService = \Magento\Framework\App\ObjectManager::getInstance()->get('Magento\Sales\Model\Service\CreditmemoService');

$order->load(1);
$invoices = $order->getInvoiceCollection();
foreach ($invoices as $invoice) {
    $invoiceincrementid = $invoice->getIncrementId();
}
$invoicedata = $invoice->loadByIncrementId($invoiceincrementid);
$creditmemo = $creditmemoFactory->createByOrder($order);
$creditmemo->setInvoice($invoicedata );
$creditmemoService->refund($creditmemo); 
 

How To Get Current Magento 2 Currency Symbol Programmatically

How can I get current currency symbol from Mangeto 2 template file programmatically.
You can use storeManager to get current currency code and retrieve the currency object. Then use method – getCurrencySymbol to get currency symbol.

 

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 
$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterfa‌​ce'); 
$code = $storeManager->getStore()->getCurrentCurrencyCode(); 
$currency = $objectManager->create('\Magento\Directory\Model\CurrencyFact‌​ory')->create()->loa‌​d($code); 
$symbol = $currency->getCurrencySymbol(); 

How To Get Magento 2 Block Content By Id

I am looking for insert a Magento 2 block into my theme and would like to load block by id and print the content from block file.

You can use class – “Magento\Cms\Model\Block” to load Magento 2 block by id . Here is the example

$ob = \Magento\Framework\App\ObjectManager::getInstance();
$block = $ob->create('Magento\Cms\Model\Block');
$block->load('block-id', 'identifier');
echo $block->getContent();

How To Add Comments Programmatically For Magento 2 Order

I am writing a small extension, if have an order id, how to add comments to the Magento 2 order programmtically
You need to load Magento 2 order by order id first and then call method – addStatusHistoryComment to assign the comments to the Magento 2 order.
$orderId = 1;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
$order->addStatusHistoryComment('Test test');
$order->save();

Magento 2: How To Get Current Currency Code

I have Magento 2 store and would like to get current currency code. I knew I can use method “getCurrentCurrencyCode” to get current currency code from Magento but how can I get from Magento 2

You call method “getCurrentCurrency” from storeManager model to get current currency code.

$_objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $_objectManager->create('\Magento\Store\Model\StoreManagerInterface');
$code = $storeManager->getStore()->getCurrentCurrency()->getCode();

How To Get Child Product Of Magento 2 Configurable Product

How can I get child products of Magento 2 configurable product

You can use “getUsedProducts” method to get all child products from a given Magento 2 configurable product

$objectManager =  \Magento\Framework\App\ObjectManager::getInstance(); 
$configProduct = $objectManager->create('Magento\Catalog\Model\Product')->load($product_id);
$_children = $configProduct->getTypeInstance()->getUsedProducts($configProduct);
foreach ($_children as $child){
// child prdocut
}
       

How To Get Magento 2 Current Customer Group ID

How to get current customer group ID for my Magento 2 store

You can use “customerSession” to check if the customer logged in or not and get current Magento 2 customer group ID

$objectManager =  \Magento\Framework\App\ObjectManager::getInstance();        
$customerSession  = $objectManager->get('\Magento\Customer\Model\Session');

if($customerSession->isLoggedIn){
    $customerGroupId = $customerSession->getCustomer()->getGroupId();
}