Magento contains Multi-store functionality for a single website.
Let’s consider Single website has three stores for different presentation,
1. English(store id 1),
2. French(store id 2 Default store),
3. Spanish(store id 3)
When you required default store id, In our case the default store is French,
We need to fetch store id as 2 for default using website id,
You have to fetch current website default store id using programmatically,
You can fetch the current website default store id by the below code snippet.
<?php namespace Rbj\MyWebsite\Model; use Magento\Store\Model\StoreManagerInterface; class Config { /** * @var StoreManagerInterface */ private $storeManager; public function __construct( StoreManagerInterface $storeManager ) { $this->storeManager = $storeManager; } /** * Get store id by website id * * @param int $id * @return id */ public function getStoreIdByWebsiteId(int $websiteId) { $storeId = $this->storeManager->getWebsite($websiteId)->getDefaultStore()->getId(); return $storeId; } }
Call function,
echo $this->getStoreIdByWebsiteId(1);
Output
2 (French is default store and its id 2)