74

In Magento, how can I get active store information, like store name, line number, etc?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Chirag
  • 902
  • 1
  • 9
  • 10

9 Answers9

153

Get store data

Mage::app()->getStore();

Store Id

Mage::app()->getStore()->getStoreId();

Store code

Mage::app()->getStore()->getCode();

Website Id

Mage::app()->getStore()->getWebsiteId();

Store Name

Mage::app()->getStore()->getName();

Store Frontend Name (see @Ben's answer)

Mage::app()->getStore()->getFrontendName();

Is Active

Mage::app()->getStore()->getIsActive();

Homepage URL of Store

Mage::app()->getStore()->getHomeUrl();

Current page URL of Store

Mage::app()->getStore()->getCurrentUrl();

All of these functions can be found in class Mage_Core_Model_Store

File: app/code/core/Mage/Core/Model/Store.php

Community
  • 1
  • 1
Mukesh Chapagain
  • 25,063
  • 15
  • 119
  • 120
  • 4
    how we can get the main store name from adminhtml.while i m using **Mage::app()->getStore()->getName()** using this i m getting 'admin'. – Gowri Jan 17 '12 at 13:00
  • 2
    @gowri, the admin area counts as a separate store (with id 0), if you have an order or anything to work with you can do, for example: $storeId = $order->getStoreId(); $store = Mage::getModel('core/store')->load($storeId); $name = $store->getWebsite()->getName(); – jsims281 Sep 03 '12 at 10:10
  • How expensive is a call to `Mage::app()->getStore()`? I assume that the store is one of the first globals to be instantiated anyway so this would probably be very cheap. Yes? – Buttle Butkus Nov 04 '15 at 20:05
  • When I call Mage::app()->getStore()->getName(); it returns "English" Magento 1.9.2.3 using the demo store data. – phpguru Mar 22 '16 at 20:13
  • I have display Notes in PDP page like, Delivery : 5 to 10 days, how can I change Delivery : 10 to 30 days based on current store. Here i have 2 stores. – Gem Jun 18 '18 at 09:38
89

To get information about the current store from anywhere in Magento, use:

<?php
$store = Mage::app()->getStore();

This will give you a Mage_Core_Model_Store object, which has some of the information you need:

<?php
$name = $store->getName();

As for your other question about line number, I'm not sure what you mean. If you mean that you want to know what line number in the code you are on (for error handling, for instance), try:

<?php
$line      = __LINE__;
$file      = __FILE__;
$class     = __CLASS__;
$method    = __METHOD__;
$namespace = __NAMESPACE__;
MediaVince
  • 479
  • 1
  • 8
  • 13
Joe Mastey
  • 26,809
  • 13
  • 80
  • 104
  • How do you get all the active store codes? I tryed `Mage::app()->getWebsite()->getStores(); ` but it only returns the current store. – Mike Feb 04 '12 at 12:01
  • I have display Notes in PDP page like, Delivery : 5 to 10 days, how can I change Delivery : 10 to 30 days based on current store. Here i have 2 stores. – Gem Jun 18 '18 at 09:37
29

Great answers here. If you're looking for the default view "Store Name" set in the Magento configuration:

Mage::app()->getStore()->getFrontendName()
Ben
  • 695
  • 6
  • 12
  • 1
    This should be the accepted answer. When I call Mage::app()->getStore()->getName(); it returns "English" Magento 1.9.2.3 using the demo store data. – phpguru Mar 22 '16 at 20:35
9

Just for information sake, in regards to my need... The answer I was looking for here was:

Mage::app()->getStore()->getGroup()->getName()

That is referenced on the admin page, where one can manage multiple stores... admin/system_store, I wanted to retrieve the store group title...

MediaVince
  • 479
  • 1
  • 8
  • 13
3

In Magento 1.9.4.0 and maybe all versions in 1.x use:

Mage::getStoreConfig('general/store_information/address');

and the following params, it depends what you want to get:

  • general/store_information/name
  • general/store_information/phone
  • general/store_information/merchant_country
  • general/store_information/address
  • general/store_information/merchant_vat_number
István Döbrentei
  • 948
  • 10
  • 20
1

If You are working on Frontend Then Use:

$currentStore=Mage::app()->getStore(); 

If You have store id then use

$store=Mage::getmodel('core/store')->load($storeId);
4b0
  • 21,981
  • 30
  • 95
  • 142
Amar
  • 11
  • 1
0

Magento Store Id : Mage::app()->getStore()->getStoreId();

Magento Store Name : Mage::app()->getStore()->getName();

Milan Maniya
  • 101
  • 2
0

For Magento 1:

you can use all of these functions can be found in class Mage_Core_Model_Store

File: app/code/core/Mage/Core/Model/Store.php

Store Data

Mage::app()->getStore();

Store Id

Mage::app()->getStore()->getStoreId();

Store code

Mage::app()->getStore()->getCode();

Magento 2 Using Block

protected $storeManager;

public function __construct(
    \Magento\Backend\Block\Template\Context $context,
    \Magento\Store\Model\StoreManagerInterface $storeManager,
    array $data = []
)
{
    $this->storeManager = $storeManager;
    parent::__construct($context, $data);
}

public function getStoreId()
{
    return $this->storeManager->getStore()->getId();
}

Using Object Manager

$objectManager =  \Magento\Framework\App\ObjectManager::getInstance();        
 
$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
 
echo $storeManager->getStore()->getStoreId();

That's it

Dula
  • 1,276
  • 5
  • 14
  • 23
-1

You can get active store information like this:

Mage::app()->getStore();  // for store object
Mage::app()->getStore()->getStoreId;  // for store ID
spinkus
  • 7,694
  • 4
  • 38
  • 62