Получить идентификатор магазина по умолчанию для сайта в Magento
Я хочу получить идентификатор магазина по умолчанию для текущего активного веб-сайта. Я старался
Mage::app()->getStoreId()
Он получает текущий магазин, но не идентификатор магазина по умолчанию для текущего веб-сайта.
Как я могу получить это? Любые предложения будут оценены.
Ответы
Ответ 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