Hello, Magento Buddies!
As we all know that the default Magento offers one Magento website, store, and store views. Thereafter, multiple websites, stores, and their store views can be built depending on the requirements.
So, to fetch a list of all the stores, you are required to perform only a few pieces of code which are right hereinafter. The method is pretty easy. Also, to know how you can quickly set up multiple stores in Magento 2, where I have given a step-by-step guide to configuring multiple stores in Magento 2.
Let’s Commence!
Steps To Retrieve a List Of All Stores Programmatically
Step 1: Create a Store.php file in the below path.
app\code\Vendor\Extension\Block\
Now, add the below-given code:
<?php namespace Vendor\Extension\Block; use Magento\Framework\View\Element\Template; use Magento\Backend\Block\Template\Context; use Magento\Store\Api\StoreRepositoryInterface; class Store extends Template { private $storeRepository; public function __construct(Context $context, StoreRepositoryInterface $storeRepository, array $data = []) { $this->storeRepository = $storeRepository; parent::__construct($context, $data); } public function Storelist() { return $this->storeRepository->getList(); } }
Step 2: Next, add the below code in your phtml file:
<?php $all_stores_list = $block->Storelist(); foreach ($all_stores_list as $store) { print_r($store->getSortOrder()); // get Sort Order print_r($store->getIsActive()); // get is active or not (0 (Disabled) / 1 (Enabled) ) print_r($store->getName()); // get Store View print_r($store->getStoreId()); // get Store id print_r($store->getCode()); // get Store Code print_r($store->getGroupId()); // get group id } ?>
And, it’s done!
Wrap Up!
Integrate the above code appropriately and you will surely get the desired output to get a list of all the Magento 2 stores.
Grab the Magento Multi-Store & Website Setup Service and get ready with multiple stores and websites from a single admin panel.
Happy Coding!