Category Archives: Magento 2.0 Tutorial
Magento 2 Login Customer Programmatically
Magento 2 Login Customer Programmatically– There are many ways to login customer programmatically in Magento2. It is very easy to set customer as logged in Magento2. Here in this tutorial we are going to explain how you can log in any customer as logged in.
Magento 2 Login Customer Programmatically By Email Id | Magento2 Example
Here in this article we are going to login on Frontend as an user without password using customer email Id. You can load customer by Email Id and login as below –
Magento 2 Login Customer Programmatically Without Password Example:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Load customer By Email $customer = $objectManager->create('Magento\Customer\Model\Customer')->loadByEmail('xyz@example.com'); // Create customer session $customerSession = $objectManager->create('Magento\Customer\Model\Session'); $customerSession->setCustomerAsLoggedIn($customer); if($customerSession->isLoggedIn()) { echo "Customer Logged in Successfully"; }else{ echo "Unable to Login"; } |
So you can use this method to login anywhere any customer.
Magento 2 get product category id
Magento 2 get product category id – There can be more than one category of any product so we need to get all categories by product id. It is very simple to get product category id, you can use object manager to get product category details.
Magento 2 get product category id by Product Id | Magento2 Example
Here is an example to get the product categories by product id using object manager-
Product category details
You can get product categories details simply as below-
Magento 2 get product category id Example:
$productId = 100; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $product = $objectManager->get('Magento\Catalog\Model\Product')->load($productId); $categories = $product->getCategoryIds(); /*This will return category ids array so let us loop them*/ foreach($categories as $category){ $cat = $objectManager->create('Magento\Catalog\Model\Category')->load($category); echo $cat->getName(); echo " |
The above example will return category ids array. Using Magento\Catalog\Model\Category we can get category details such as name, id etc.
Current Product Category Details
If you want to get the current Product Category Details, You can load product from registry and get details simply as below-
Magento 2 get product category id Example:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $product = $objectManager->get('Magento\Framework\Registry')->registry('current_product'); $categories = $product->getCategoryIds(); /*will return category ids array*/ foreach($categories as $category){ $cat = $objectManager->create('Magento\Catalog\Model\Category')->load($category); echo $cat->getName(); } |
Magento 2 Check admin user logged or not
Magento 2 Check admin user logged or not– Sometimes we need to check the admin user login status ie. whether the admin user is logged in or not. Here in this article, we are going to explain how to check admin user login status.
Magento 2 Check admin user logged or not | Magento2 Example
You can use admin auth session to determine the admin user login status. Here is an example to check the admin login status –
Magento 2 Check admin user logged or not Example:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $adminSession = $objectManager->get('Magento\Backend\Model\Auth\Session'); if($adminSession->isLoggedIn()) { // Admin is logged do your stuffs here } |
We have used Magento\Backend\Model\Auth\Session to check the admin login staus. You can use object manager as above to check whether the admin user is login or not.
Magento 2 Check customer is logged in
Magento 2 Check customer is logged in– While working on front end we often need to check whether the customer is logged in or not. Here in this tutorial, we are going to explain how to check customer is logged in or not in Magento 2.
Magento 2 Check customer is logged in Example
You can get customer login status using the following method –
Magento 2 Check customer is login Example:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $customerSession = $objectManager->get('Magento\Customer\Model\Session'); if($customerSession->isLoggedIn()) { // customer login do your stuffs here } |
In the above example we have used object manager to get the current customer session. Using the current customer session object we can get the Login status as above.
Magento 2 Get Order Details
Magento 2 Get Order Details Programmatically– It is very common while working with orders in Magento 2 we need to deal with the associated details about the order. Here in this article we are going to explain how you can get the important details such as- Load Order by Id(Increment Id), get Order Status, Get order Shipping Address, Billing Address, Shipping And Payment Method Details.
Magento 2 Get Order Details Programmatically | Payment Method | Shipping | Example
Let us go step by step to understand the Order Details in Magento 2-
- 1. Load Order By Id
- 2. Load Order By Increment Id
First of all let us load order object
Load Order By Id
You can load order by order id using object manager simply as below-
Load Order By Order Id Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); echo $order->getGrandTotal(); |
Load Order By Increment Id
Now let us load order by increment id in Magento 2-
Load Order By Increment Id Example:
$$orderIncrementId = 109834772; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->loadByIncrementId($orderIncrementId); echo $order->getGrandTotal(); |
Get Order Status & State In Magento 2
You can get order status & state from Order Id simply as below-
Get Order Status & Label From Order Id Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); echo $state = $order->getState(); echo " |
Get Order Items Collection
Now let us get order items collection All Visible Items, All Items from order object-
Get Order items | All Items | All Visible Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); $orderItemsCollection = $order->getAllVisibleItems(); //*** get All Items ******// //$orderItemsCollection = $order->getAllItems(); foreach $orderItemsCollection as $item){ $productId = $item->Id(); $productSku = $item->sku(); $productName = $item->getName(); } |
Get Shipping & Billing Address From Order
You can get the shipping & Billing Address Details form order using order id simply as below-
Shipping & Billing Info From Order Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); $shippingAddress = $order->getShippingAddress(); $billingAddress = $order->getBillingAddress(); echo $shippingAddress->getStreet(); echo $shippingAddress->getTelephone(); |
Get Shipping Method
You can get the shipping Method form order using order id simply as below-
Shipping Method Info from Order Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); $shippingMethod = $order->getShippingMethod(); |
Get Payment Method
You can get the Payment Method form order using order id simply as below-
Payment Method Info from Order Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); $paymentMethod = $order->getPaymentMethod(); |
Get Quote From Order
You can get the quote From Order using quote Id.
Payment Method Info from Order Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); $quoteId = $order->getQuoteId(); $quoteFactory = $objectManager->create('\Magento\Quote\Model\QuoteFactory'); $quote = $quoteFactory->create()->load($quoteId); echo $quote->getSubTotal(); |
Get Shipment Collection From Order
You can get shipment collection from order object simply as below-
Get Shipment Id By Order Id Example:
$orderId = 9999; $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('\Magento\Sales\Model\Order') ->load($orderId); $shipmentCollection = $order->getShipmentsCollection(); print_r($shipmentCollection->getData()); // or foreach($shipmentCollection as $shipment){ $shipmentID = $shipment->getId(); $shipmentIncrementID = $shipment->getIncrementId(); } |
There can be multiple shipments against an order so you can get shipment id, shipment increment id and other details as in above example.
Magento 2 event observer list
magento 2 event observer list Cheat Sheet Here is complete list of events(observers) available in Magento 2. You use it magento 2 quickley from below list.
Magento 2 event observer list Cheat Sheet
Complete list of magento 2 events, You can call any event from the list easily-
- checkout_directpost_placeOrder
- adminhtml_store_edit_form_prepare_form
- adminhtml_block_html_before
- backend_block_widget_grid_prepare_grid_before
- adminhtml_cache_flush_system
- adminhtml_cache_flush_all
- clean_catalog_images_cache_after
- clean_media_cache_after
- clean_static_files_cache_after
- adminhtml_cache_flush_all
- adminhtml_cache_flush_system
- theme_save_after
- store_delete
- store_group_save
- NO_MATCH
- backend_auth_user_login_success
- backend_auth_user_login_failed
- backend_auth_user_login_failed
- catalog_product_option_price_configuration_after
- prepare_catalog_product_collection_prices
- catalog_product_get_final_price
- catalog_product_get_final_price
- catalog_product_prepare_index_select
- catalog_product_get_final_price
- adminhtml_catalog_category_edit_prepare_form
- adminhtml_catalog_category_tabs
- adminhtml_catalog_category_tree_is_moveable
- adminhtml_catalog_category_tree_can_add_root_category
- adminhtml_catalog_category_tree_can_add_sub_category
- product_attribute_form_build
- product_attribute_form_build_front_tab
- adminhtml_catalog_product_attribute_edit_frontend_prepare_form
- adminhtml_product_attribute_types
- product_attribute_form_build_main_tab
- product_attribute_grid_build
- adminhtml_catalog_product_edit_prepare_form
- adminhtml_catalog_product_edit_element_types
- adminhtml_catalog_product_attribute_set_main_html_before
- adminhtml_catalog_product_attribute_set_toolbar_main_html_before
- adminhtml_catalog_product_form_prepare_excluded_field_list
- adminhtml_catalog_product_edit_tab_attributes_create_html_before
- adminhtml_catalog_product_edit_prepare_form
- adminhtml_catalog_product_edit_element_types
- adminhtml_catalog_product_grid_prepare_massaction
- catalog_product_gallery_prepare_layout
- catalog_block_product_status_display
- catalog_block_product_list_collection
- catalog_product_upsell
- catalog_product_option_price_configuration_after
- catalog_product_view_config
- rss_catalog_category_xml_callback
- rss_catalog_new_xml_callback
- rss_catalog_special_xml_callback
- shortcut_buttons_container
- catalog_controller_category_delete
- category_prepare_ajax_response
- catalog_category_prepare_save
- catalog_product_to_website_change
- catalog_product_edit_action
- catalog_product_gallery_upload_image_after
- catalog_product_new_action
- controller_action_catalog_product_save_entity_after
- catalog_controller_category_init_after
- catalog_product_compare_add_product
- catalog_product_compare_remove_product
- catalog_controller_product_view
- catalog_controller_product_init_before
- catalog_controller_product_init_after
- _move_before
- _move_after
- category_move
- catalog_product_attribute_update_before
- adminhtml_product_attribute_types
- NO_MATCH
- catalog_product_get_final_price
- _validate_before
- _validate_after
- catalog_product_is_salable_before
- catalog_product_is_salable_after
- _load_before
- _load_after
- _add_is_active_filter
- _load_before
- _load_after
- _add_is_active_filter
- catalog_category_tree_init_inactive_category_ids
- catalog_category_flat_loadnodes_before
- catalog_category_tree_init_inactive_category_ids
- catalog_category_change_products
- catalog_prepare_price_select
- catalog_product_collection_load_after
- catalog_product_collection_before_add_count_to_categories
- catalog_product_collection_apply_limitations_after
- catalog_product_compare_item_collection_clear
- prepare_catalog_product_index_select
- prepare_catalog_product_index_select
- prepare_catalog_product_index_select
- prepare_catalog_product_index_select
- prepare_catalog_product_index_select
- catalog_product_delete_after_done
- rss_catalog_notify_stock_collection_select
- clean_cache_by_tags
- catalog_product_import_bunch_delete_after
- catalog_product_import_finish_before
- catalog_product_import_bunch_save_after
- clean_cache_by_tags
- adminhtml_promo_catalog_edit_tab_main_prepare_form
- adminhtml_controller_catalogrule_prepare_save
- clean_cache_by_tags
- catelogsearch_searchable_attributes_load_after
- catelogsearch_searchable_attributes_load_after
- catalogsearch_reset_search_result
- shortcut_buttons_container
- checkout_cart_add_product_complete
- checkout_cart_update_item_complete
- checkout_controller_onepage_saveOrder
- checkout_onepage_controller_success_action
- checkout_allow_guest
- checkout_cart_product_add_after
- checkout_cart_update_items_before
- checkout_cart_update_items_after
- checkout_cart_save_before
- checkout_cart_save_after
- checkout_cart_product_update_after
- custom_quote_process
- checkout_quote_init
- load_customer_quote_before
- checkout_quote_destroy
- restore_quote
- checkout_type_onepage_save_order_after
- checkout_submit_all_after
- adminhtml_cms_page_edit_tab_content_prepare_form
- adminhtml_cms_page_edit_tab_design_prepare_form
- adminhtml_cms_page_edit_tab_main_prepare_form
- adminhtml_cms_page_edit_tab_meta_prepare_form
- adminhtml_cmspage_on_delete
- adminhtml_cmspage_on_delete
- cms_page_prepare_save
- cms_controller_router_match_before
- cms_page_render
- cms_wysiwyg_images_static_urls_allowed
- adminhtml_system_config_advanced_disableoutput_render_before
- NO_MATCH
- catalog_product_validate_variations_before
- controller_action_nocookies
- admin_system_config_changed_section_currency_before_reinit
- admin_system_config_changed_section_currency
- adminhtml_block_html_before
- customer_register_success
- adminhtml_customer_prepare_save
- adminhtml_customer_save_after
- customer_customer_authenticated
- customer_data_object_login
- customer_address_format
- customer_customer_authenticated
- customer_validate
- customer_save_after_data_object
- customer_session_init
- customer_login
- customer_data_object_login
- customer_login
- customer_data_object_login
- customer_logout
- visitor_init
- visitor_activity_save
- adminhtml_block_eav_attribute_edit_form_init
- eav_collection_abstract_load_before
- gift_options_prepare_items
- catalog_product_prepare_index_select
- clean_cache_after_reindex
- checkout_controller_multishipping_shipping_post
- multishipping_checkout_controller_success_action
- checkout_type_multishipping_set_shipping_items
- checkout_type_multishipping_create_orders_single
- checkout_submit_all_after
- checkout_multishipping_refund_all
- adminhtml_cache_refresh_type
- depersonalize_clear_session
- payment_form_block_to_html_before
- payment_cart_collect_items_and_amounts
- payment_method_is_active
- payment_method_is_active
- payment_method_assign_data_
- paypal_express_place_order_success
- persistent_session_expired
- persistent_session_expired
- items_additional_data
- sales_convert_quote_to_order
- sales_quote_item_qty_set_after
- sales_quote_item_set_product
- _import_data_before
- sales_quote_collect_totals_before
- sales_quote_collect_totals_after
- sales_quote_address_collect_totals_before
- sales_quote_address_collect_totals_after
- sales_quote_remove_item
- sales_quote_add_item
- sales_quote_product_add_after
- _merge_before
- _merge_after
- checkout_submit_before
- checkout_submit_all_after
- sales_model_service_quote_submit_before
- sales_model_service_quote_submit_success
- sales_model_service_quote_submit_failure
- _load_after
- prepare_catalog_product_collection_prices
- sales_quote_item_collection_products_after_load
- adminhtml_widget_grid_filter_collection
- sales_prepare_amount_expression
- review_controller_product_init_before
- review_controller_product_init
- review_controller_product_init_after
- rating_rating_collection_load_before
- review_review_collection_load_before
- rss_catalog_review_collection_select
- adminhtml_customer_orders_add_action_renderer
- admin_sales_order_address_update
- adminhtml_sales_order_create_process_data_before
- adminhtml_sales_order_create_process_data
- adminhtml_sales_order_creditmemo_register_before
- sales_convert_order_to_quote
- sales_convert_order_item_to_quote_item
- checkout_submit_all_after
- sales_email_general_async_sending
- dev_grid_async_indexing
- customer_address_format
- email_creditmemo_comment_set_template_vars_before
- email_creditmemo_set_template_vars_before
- email_invoice_comment_set_template_vars_before
- email_invoice_set_template_vars_before
- email_order_comment_set_template_vars_before
- email_order_set_template_vars_before
- email_shipment_comment_set_template_vars_before
- email_shipment_set_template_vars_before
- sales_order_invoice_pay
- sales_order_invoice_cancel
- sales_order_invoice_register
- sales_order_item_cancel
- sales_order_payment_capture
- _html_txn_id
- sales_order_payment_place_start
- sales_order_payment_place_end
- sales_order_payment_pay
- sales_order_payment_cancel_invoice
- sales_order_payment_void
- sales_order_payment_refund
- sales_order_payment_cancel_creditmemo
- sales_order_payment_cancel
- sales_order_status_unassign
- sales_order_place_before
- sales_order_place_after
- order_cancel_after
- _save_attribute_before
- _save_attribute_after
- _load_after
- _set_sales_order
- sales_sale_collection_query_before
- rss_order_new_collection_select
- sales_order_creditmemo_cancel
- sales_order_creditmemo_refund
- sales_order_state_change_before
- adminhtml_block_salesrule_actions_prepareform
- adminhtml_promo_quote_edit_tab_coupons_form_prepare_form
- adminhtml_promo_quote_edit_tab_main_prepare_form
- adminhtml_block_promo_widget_chooser_prepare_collection
- adminhtml_controller_salesrule_prepare_save
- sales_quote_address_discount_item
- sales_quote_address_discount_item
- salesrule_rule_condition_combine
- salesrule_rule_get_coupon_types
- salesrule_validator_process
- on_view_report
- sendfriend_product
- store_address_format
- swatch_gallery_upload_image_after
- adminhtml_cache_refresh_type
- tax_settings_change_after
- tax_settings_change_after
- tax_settings_change_after
- tax_settings_change_after
- tax_settings_change_after
- tax_rate_data_fetch
- page_block_html_topmenu_gethtml_before
- page_block_html_topmenu_gethtml_after
- assign_theme_to_stores_after
- assigned_theme_changed
- theme_registration_from_filesystem
- permissions_role_html_before
- admin_permissions_role_prepare_save
- admin_user_authenticate_before
- admin_user_authenticate_after
- product_option_renderer_init
- wishlist_add_product
- wishlist_share
- wishlist_update_item
- wishlist_items_renewed
- wishlist_item_collection_products_after_load
- rss_wishlist_xml_callback
- wishlist_add_item
- wishlist_product_add_after
- controller_action_predispatch
- controller_action_predispatch_
- controller_action_predispatch_
- controller_action_postdispatch_
- controller_action_postdispatch_
- controller_action_postdispatch
- default
- NO_MATCH
- NO_MATCH
- controller_front_send_response_before
- controller_action_layout_render_before
- controller_action_layout_render_before_
- controller_action_noroute
- abstract_search_result_load_before
- _load_before
- abstract_search_result_load_after
- _load_after
- NO_MATCH
- NO_MATCH
- NO_MATCH
- NO_MATCH
- NO_MATCH
- currency_display_options_forming
- session_abstract_clear_messages
- session_abstract_add_message
- model_load_before
- _load_before
- model_load_after
- _load_after
- model_save_commit_after
- _save_commit_after
- model_save_before
- _save_before
- model_save_after
- clean_cache_by_tags
- _save_after
- model_delete_before
- _delete_before
- model_delete_after
- clean_cache_by_tags
- _delete_after
- model_delete_commit_after
- _delete_commit_after
- _clear
- core_collection_abstract_load_before
- _load_before
- core_collection_abstract_load_after
- _load_after
- _process_relation
- view_block_abstract_to_html_before
- view_message_block_render_grouped_html_after
- layout_load_before
- layout_generate_blocks_before
- layout_generate_blocks_after
- core_layout_block_create_after
- core_layout_render_element
- layout_render_before
- layout_render_before_
Magento 2 format price currency
Magento 2 format price currency – It is very simple to format price currency in Magento 2. You can use object manager or factory method to format price in currency. Here in this article we are going to explain how you can use format price currency function in magento 2.x.
Magento 2 format price Currency With Symbol Example
Here is an example to format price in Any currrency with symbol-
With Currency Symbol
The below example will format price with currency symbol-
Magento 2 format price Currency Example:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $priceHelper = $objectManager->create('Magento\Framework\Pricing\Helper\Data'); $price = 99.99; $currencyFormattedPrice = $priceHelper->currency($price, true, false); |
The above example will format price with currency symbol with two decimal.
WithOut Currency Symbol
If you want to format currency Symbol you can do it as below-
Magento 2 format price Currency Example:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $priceHelper = $objectManager->create('Magento\Framework\Pricing\Helper\Data'); $price = 99.99; $currencyFormattedPrice = $priceHelper->currency($price, array('display' => Zend_Currency::NO_SYMBOL)); |
The above example will format currency without symbols.
Magento 2 Get Ip Address
Magento 2 Get Ip Address– Sometimes we need to get the Ip address programatically. Here in this tutorial we are going to explain how you can get current visitors IP.
Magento 2 Get Ip Address | Remote Address Example
You can get the remote ip address using object manager simply as below-
Magento 2 Get Ip Address Example:
/** @var \Magento\Framework\ObjectManagerInterface */ $objctManager = \Magento\Framework\App\ObjectManager::getInstance(); /** @var \Magento\Framework\HTTP\PhpEnvironment\RemoteAddress $a */ $remote = $objctManager->get('Magento\Framework\HTTP\PhpEnvironment\RemoteAddress'); echo $remote->getRemoteAddress(); |
The above example will return the remote IP Address.