Difference Between Offline Shipping Method and Online Shipping Method

There are following below difference between Offline Shipping Method and Online Shipping Method

The Online Shipping methods are those which actively consume the API of a 3rd party system owned by a shipping services provider in order to fetch the shipping cost and the information regarding the parcel’s delivery tracking

While

The Offline Shipping methods implements the shipping methods which do not involve a direct interaction with shipping carriers, so called offline shipping methods.

In case Magento 2, offline shipping methods as

Free Shipping

Flat Rate

Table Rates

Store Pickup

Which Magento 2.x Database Tables Store Sales Order Data

There are following below set of Database Tables store Sales Order Data.

sales_order

sales_order_item

sales_order_grid

sales_order_address

sales_order_payment

sales_order_status

[1] sales_order :: store [payement, discount, tax, Customer ID(customer_id), Email, Billing-Shipping payment etc.]

[2] sales_order_item :: Store [Product Details, Order ID(order_id)]

[3] sales_order_grid :: Store [Billing/Shipping Address Grand Item Price,Customer ID(customer_id), Order ID as increment_id]

[4] sales_order_address :: Store [Shipping & Billing Address, , Customer ID(customer_id)], each time store two row one for Billing address and another For shipping address while ordering any product

[5] sales_order_payment :: Store [payment details on the bases of Order ID]

[6] sales_order_status :: Store [Sales Order Status like canceled, closed, complete, fraud, holded, payment_review, Paypal Canceled Reversal, Paypal Reversed, Pending, Pending Payment, Pending Paypal, Processing]

sales_order_grid :: Store [Billing/Shipping Address Grand Item Price,Customer ID(customer_id), Order ID as increment_id]

order_id of sales_order_item Become increment_id of sales_order_grid increment_id display in

Stores -> Configuration–>Sales -> Order

Magento 2 All Database Tables [500 and more Tables]

Which Magento 2 Database Tables Store Sales Order Data


Which Magento 2 Database Tables Store Sales Invoice Order Data


Which Magento 2 Database Tables Store Sales Tax and Its related Data


Which Magento 2 Database Tables Store Catalog Price Rules


Which Magento 2 Database Tables Store Cart Price Rules


Which Magento 2 Database Table Store Patches


Which Magento 2 Database Tables Store Customer Review


Which Magento 2 Database Tables Store Customer Rating

Which Magento 2.x Database Tables Store Product Attributes

There are following below set of Database Tables store product attributes.

eav_attribute
eav_attribute_group
eav_attribute_label
eav_attribute_option
eav_attribute_option_swatch
eav_attribute_option_value
eav_attribute_set

Magento 2 All Database Tables [500 and more Tables]

Magento 2 All Database Tables [500 & more Tables]


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Review


Which Magento 2 Database Tables Store Customer Wishlist Products


Which Magento 2 Database Table Store Patches


Which Magento 2 Database Table Store Patches


Which Magento 2 Database Table Store Static Blocks & Its Details


Which Magento 2 Database Table Store CMS Pages & Its Details


Which Magento 2 Database Tables Having All URLs Storage


Which Magento 2.x Database Table Store Bundles Product

There are following below database tables store bundles products

catalog_product_bundle_option
catalog_product_bundle_option_value
catalog_product_bundle_price_index
catalog_product_bundle_selection
catalog_product_bundle_selection_price
catalog_product_bundle_stock_index

Magento 2 All Database Tables [500 and more Tables]

Which Magento 2 database tables store Product details


Which Magento 2 database tables store Category details


How To Delete Magento 2 Categories & Products in Magento 2


Which Magento 2 Database Table Store Bundles Product


Which Magento 2 Database Table Having All Catalog (Categories & Products) URLs Rewrite Storage Data


Which Magento 2 Database Tables Store Product Attributes


How To Delete Magento 2 Products


How To Delete Magento 2 Categories


How To Delete Magento 2 Categories & Products in Magento 2


Which Magento 2 Database Table Store Customer Group Price of products


Which Magento 2 Database Table Store Products Special Discount Price

Magento 2.x Preference

Preference is used to override or rewrite existing / custom classes (Controller, Block & Helper). Preference using Dependency Injection to override or rewrite classes.

How To Define Preference : Preference is defined inside di.xml

Path : app/code/VendorName/ModuleName/etc/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd">

<preference for="Class Which Override" type="Custom Class By Which Override" />

    </config>

Overriding (By Preference in di.xml) a method is not recommended because it can cause conflicts in the system and increase the complexity to upgrade.

Always try to user other extensibility options, such as event observers and plugins, when possible.

Magento 2.x Plugins

“A plugin or interceptor is a class that modifies or expand or edit the behavior of public class functions by intercepting a function call or set of code before, after or around that function call”

“Inserting code dynamically without changing original class behavior is called Plugin”

Plugins using design pattern “Interception”

Plugins Limitation : There are following below criteria where plugins can not used.

  • final classes
  • non public methods
  • static methods
  • constructor
  • virtual types
  • objects that are initialized before plugins loading

Plugins Types : There are three types plugins

  • Before listener Plugin (Before Plugin)
  • After listener Plugin (After Plugin)
  • Around listener Plugin (Around Plugin)