Подтвердить что ты не робот

Получить идентификатор магазина по умолчанию для сайта в Magento

Я хочу получить идентификатор магазина по умолчанию для текущего активного веб-сайта. Я старался

Mage::app()->getStoreId()

Он получает текущий магазин, но не идентификатор магазина по умолчанию для текущего веб-сайта.
Как я могу получить это? Любые предложения будут оценены.
4b9b3361

Ответ 1

Предполагая, что вы говорите об идентификаторе хранилища по умолчанию, определенном для каждой группы магазинов, тогда, например, например:

$iDefaultStoreId = Mage::app()
    ->getWebsite()
    ->getDefaultGroup()
    ->getDefaultStoreId();

Первоначальный вопрос состоял в том, как получить идентификатор хранилища по умолчанию в текущем активном веб-сайте, поэтому ответ правильный. Однако, чтобы получить идентификатор хранилища по умолчанию из панели администратора, вам необходимо передать параметр true методу getWebsite():

$iDefaultStoreId = Mage::app()
    ->getWebsite(true)
    ->getDefaultGroup()
    ->getDefaultStoreId();

Ответ 2

Чтобы ответить на комментарий @Tahir Yasin, что он не работает в Admin, это потому, что по умолчанию admin_id Admin равно 0, так же как и store_id, поэтому он не очень полезен. Что вам нужно для администратора, укажите идентификатор веб-сайта.

$iDefaultStoreId = Mage::app()
    ->getWebsite($websiteId)
    ->getDefaultGroup()
    ->getDefaultStoreId();

Надеюсь, это поможет некоторым гуглерам.

Ответ 3

Вы можете получить идентификатор магазина по умолчанию, как показано ниже:

Mage_Core_Model_App::ADMIN_STORE_ID