Magento 2 Module
How to display best seller products on the homepage in Magento 2
Hide/Show description
Hi everybody, I am Cuong, Welcome back to my Magento 2 tutorial video series. #magento2tutorial #magento2training #magento2
Today, I am going to show everybody the best practice, How to display bestsellers products on the homepage in Magento 2.
By default Magento 2 allows us to show the products bestsellers report in the backend, you can see it by going to Admin Panel → Reports → Products → Bestsellers. Also, you can see the top 5 of bestsellers products in the tab named Bestsellers on the Dashboard. The data of this products bestsellers report is saved in the tables named:
1. sales_bestsellers_aggregated_daily: Sales Bestsellers Aggregated Daily
2. sales_bestsellers_aggregated_monthly: Sales Bestsellers Aggregated Monthly
3. sales_bestsellers_aggregated_yearly: Sales Bestsellers Aggregated Yearly
To refresh bestsellers report, you go to Admin Panel → Reports → Statistics → Refresh Statistics, then submit the action named Refresh Lifetime Statistics.
However, Magento 2 doesn't provide us the feature that allowing to show these bestsellers products on the homepage of the storefront. So in this practice, I'm going to show everybody the best codes to display correct the bestsellers products on the homepage with some simple steps.
1. I will create a new widget called "Bestsellers Products"
2. Displaying this widget on the homepage.
Okie, let's go.
Let's do this practice, you need to follow steps by step:
Step 1: Declaring the new module called PHPCuong_BestsellersProducts
- Create the namespace PHPCuong in the path app\code
- Create the module named BestsellersProducts in the path app\code\PHPCuong
- Create the file named registration.php in the path app\code\PHPCuong\BestsellersProducts
- Create the file named module.xml in the path app\code\PHPCuong\BestsellersProducts\etc
End of step #1, I have been completed the codes to create a new module called PHPCuong_BestsellersProducts.
Step 2: Declaring the new widget named Bestsellers Products
- Create the new file named widget.xml in the path app\code\PHPCuong\BestsellersProducts\etc
- Create the new file named BestsellersProducts.php in the path app\code\PHPCuong\BestsellersProducts\Block\Widget
- Create the new file named Collection.php in the path app\code\PHPCuong\BestsellersProducts\Model\ResourceModel\Product
- Create the new file named bestsellers-products.phtml in the path app\code\PHPCuong\BestsellersProducts\view\frontend\templates\widget
The content of the file named bestsellers-products.phtml, I copied from the file grid.phtml in the module named Magento_CatalogWidget
Step 3: Test and see the results
1. Run the following command lines:
php bin/magento setup:upgrade --keep-generated
php bin/magento cache:flush
2. Display the bestsellers products widget on the homepage.
Go to the Magento Admin Panel → Content → Elements → Widgets → Add Widget
- Add the new widget named Bestsellers Products
3. Test the results
Go to the homepage.
Yeah, it works perfectly.
Thank you for your watching. If you have any questions about this practice, please feel free to leave a comment below.
Don't forget to like, comment, share and subscribe to my channel for getting the latest videos.
Please do not hesitate to contact me if you need me to join your Magento project. My rate is $25/hour in Magento 1 and $30/hour in Magento 2.
Get the source codes of this practice in the Github https://github.com/php-cuong/magento2-bestsellers-products
See other tutorials here https://bit.ly/2OKBBwK
-
How to create a new module in Magento 2
How to add new tables for a custom module in Magento 2
How to create a grid using UI component in Magento 2
How to create a form using UI component in Magento 2
How to upload an image using fileUploader in Magento 2
How to validate the data before saving in Magento 2
How to display an image in the admin grid in magento 2
How to use the Inline Edit Component in Magento 2
How to add the JS and CSS files into a custom module in Magento 2
How to add a new Widget into a custom module in Magento 2
How to use plugin in Magento 2
How to use events and observers in magento 2
How to add a new customer attribute in magento 2
How to override a template phtml in Magento 2
How to create the buttons increase and decrease quantity on the product detail page in Magento 2
How to send an email from a custom module in Magento 2
How to create a new shipping method in Magento 2
How to display a static block in a popup in Magento 2
How to add a new checkout step in Magento 2
How to override a knockout HTML template file in Magento 2
How to create a custom console command in Magento 2 - Rebuild URL Rewrite
Increase and decrease quantity in Magento 2 mini cart
How to create a customization cart price rule condition in Magento 2
How to display best seller products on the homepage in Magento 2
How to restrict products by customer group in Magento 2
How to include coupon code in newsletter subscription success email in Magento 2
How to show the registration and login form in a popup in Magento 2
How to remove the decimal from the price in Magento 2
How to use Ajax for the newsletter subscription in Magento 2
How to redirect the customer to a custom page after logging in
How to add the CMS page links to the top menu in Magento 2
How to create lazy loading product images in Magento 2
How to move the Javascript files to the footer in Magento 2
How to remove out of stock items from the shopping cart in Magento 2
How to show review form only for the customer who has purchased the item in Magento 2
How to minify HTML in Magento 2
How to change currency symbol position in Magento 2 (Left to Right)
How to package and publish a magento 2 extension
How to display all products on sale in Magento 2
Magento 2 Admin Security [Send a notification email after logging in successfully]
How to create a custom log file in Magento 2
How to create a custom cron job in Magento 2