Як отримати інформацію про магазини в Magento?


74

Як я можу отримати в Magento активну інформацію про магазин, таку як назва магазину, номер рядка тощо?

Відповіді:


89

Щоб отримати інформацію про поточний магазин з будь-якої точки в Magento, використовуйте:

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

Це дасть вам об’єкт Mage_Core_Model_Store, який містить деяку необхідну інформацію:

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

Що стосується вашого іншого питання про номер рядка, я не впевнений, що ви маєте на увазі. Якщо ви хочете знати, який номер рядка в коді ви знаходитесь (наприклад, для обробки помилок), спробуйте:

<?php
$line      = __LINE__;
$file      = __FILE__;
$class     = __CLASS__;
$method    = __METHOD__;
$namespace = __NAMESPACE__;

Як отримати всі активні коди магазинів? Я спробував, Mage::app()->getWebsite()->getStores(); але він повертає лише поточний магазин.
Майк

У мене на сторінці PDP відображаються примітки, наприклад, Доставка: від 5 до 10 днів, як я можу змінити доставку: від 10 до 30 днів залежно від поточного магазину. Тут у мене є 2 магазини.
Gem

153

Отримати дані магазину

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

Ідентифікатор магазину

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

Код магазину

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

Ідентифікатор веб-сайту

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

Назва магазину

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

Зберігати ім’я інтерфейсу ( див. Відповідь @ Бена )

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

Активний

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

URL-адреса домашньої сторінки магазину

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

URL-адреса поточної сторінки магазину

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

Всі ці функції можна знайти в класі Mage_Core_Model_Store

Файл: app / code / core / Mage / Core / Model / Store.php


4
як ми можемо отримати основне ім'я магазину з adminhtml. while im за допомогою Mage :: app () -> getStore () -> getName (), використовуючи цей im отримуючи 'admin'.
Gowri

2
@gowri, область адміністратора вважається окремим сховищем (з ідентифікатором 0), якщо у вас є замовлення або щось інше, з чим ви можете працювати, наприклад: $ storeId = $ order-> getStoreId (); $ store = Mage :: getModel ('core / store') -> load ($ storeId); $ name = $ store-> getWebsite () -> getName ();
jsims281

Наскільки дорогим є дзвінок Mage::app()->getStore()? Я припускаю, що магазин є одним із перших глобальних магазинів, який все одно був створений, тому це, мабуть, було б дуже дешево. Так?
Buttle Butkus

Коли я телефоную до Mage :: app () -> getStore () -> getName (); він повертає "англійську" Magento 1.9.2.3, використовуючи дані демонстраційного сховища.
phpguru

У мене на сторінці PDP відображаються примітки, наприклад, Доставка: від 5 до 10 днів, як я можу змінити доставку: від 10 до 30 днів залежно від поточного магазину. Тут у мене є 2 магазини.
Gem

28

Чудові відповіді тут. Якщо ви шукаєте подання за замовчуванням "Назва магазину", встановлене в конфігурації Magento:

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

1
Це має бути прийнятою відповіддю. Коли я телефоную до Mage :: app () -> getStore () -> getName (); він повертає "англійську" Magento 1.9.2.3, використовуючи дані демонстраційного сховища.
phpguru

9

Просто заради інформації, щодо моєї потреби ... Відповідь, яку я тут шукав, була:

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

Це вказано на сторінці адміністратора, де можна керувати декількома магазинами ... admin / system_store, я хотів отримати заголовок групи магазинів ...


3

У Magento 1.9.4.0 і, можливо, у всіх версіях 1.x використовуються:

Mage :: getStoreConfig ('загальні / інформація про магазин / адреса');

і наступні параметри, це залежить від того, що ви хочете отримати:

  • загальна / інформація про_магазин / назва
  • загальна / інформація про_магазин / телефон
  • загальна / інформація про_магазини / країна продавця
  • загальна інформація / інформація про магазин / адреса
  • загальна / інформація про_магазини / номер_торговця_ват

1

Якщо ви працюєте над Frontend, тоді використовуйте:

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

Якщо у вас є ідентифікатор магазину, тоді використовуйте

$store=Mage::getmodel('core/store')->load($storeId);

0

Ідентифікатор магазину Magento :Mage::app()->getStore()->getStoreId();

Назва магазину Magento :Mage::app()->getStore()->getName();


-1

Ви можете отримати активну інформацію про магазин, наприклад:

Mage::app()->getStore();  // for store object
Mage::app()->getStore()->getStoreId;  // for store ID
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.