2012-06-28 12 views
13

Chcę uzyskać domyślny identyfikator sklepu aktualnie aktywnej witryny. Wypróbowałem: domyślny identyfikator sklepu witryny magento

Mage::app()->getStoreId()

. Otrzymuje bieżący sklep, ale nie domyślny identyfikator sklepu dla bieżącej witryny. Jak to zdobyć? Wszelkie sugestie będą doceniane:

Odpowiedz

15

Zakładając, że mówisz o domyślnym identyfikatorze sklepu zdefiniowanym dla grupy sklepów, to na przykład tak:

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

Oryginalny pytanie, w jaki sposób odzyskać domyślny identyfikator sklepu aktualnie aktywnej stronie internetowej, więc odpowiedź jest poprawna. Jednak w celu uzyskania identyfikatora magazynu domyślnego nakładka z poziomu panelu administratora trzeba przekazać parametr true metody getWebsite():

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

Dziękuję Jurgen. Jest to dokładnie to, czego potrzebowałem. – user773440

+6

To nie działa w zakresie administracyjnym Magento, ale działa na front-end. –

6

Aby odpowiedzieć na komentarz z @Tahir Yasin, że nie działa na Admin, dzieje się tak, ponieważ domyślny administrator witryny ma wartość 0, więc jest to identyfikator sklepu, więc nie jest to przydatne. To, czego potrzebujesz dla administratora, to podać identyfikator strony.

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

Mam nadzieję, że pomoże to niektórym pracownikom Google.