2011-07-05 8 views
16

Potrzebuję funkcji pomocnika, aby uzyskać bieżący kod języka. Chcę go użyć w pliku templete, jak /products/view.phtml, tylko do celów testowych.Magento uzyskać kod języka w pliku szablonu

Czy to już istnieje?

mam coś w głowie jak w URL-pomocnika

$url = $this->helper('core/url')->getCurrentUrl(); 

Odpowiedz

71

Można uzyskać aktualny kod lokalizacji w ten sposób:

$locale = Mage::app()->getLocale()->getLocaleCode(); 
+0

Działa również. Hm ... kto zarabia punkty? – former

+0

Z tym uzyskujesz locale aktualnie używane w tłumaczeniu modelu, ale oba są poprawne technicznie. – FbnFgc

+0

Jak uzyskamy nazwę locale? (jak widzimy w backendie na liście rozwijanej, gdy ustawiamy lokalizację) –

8

AFAIK nie ma takiej funkcji pomocnika, ale można z Oczywiście skonstruuj własne używając:

Mage::getStoreConfig('general/locale/code', Mage::app()->getStore()->getId()); 
+0

Działa dobrze, dziękuję. – former

0

Do użytku w elementach HTML lang atrybutów itp

echo strtolower(Mage::getStoreConfig('general/country/default')); // "en" 
1

Spróbuj

$_language_code = substr(Mage::getStoreConfig('general/locale/code', $_store->getId()),0,2); 

gdzie $ _store jest obecny magazynie obiektów

+0

To jest właśnie to, czego potrzebowałem. Tnx – deanpodgornik

0

Można również użyć:

$ languageCode = Mage :: app() -> getStore() -> getLanguageCode();

Nie zapomnij skonfigurować ustawień sklepu w swoim administratorze. Przejdź do menu:

System -> Konfiguracja -> Ogólne -> Opcje ustawień regionalnych

i ustawić właściwy regionalne dla poszczególnych stron internetowych lub sklepów

11

wynik dla odpowiedzi udzielonych w tym temacie dla „Belgia: Francuska” (Be_Fr)

  • strtolower(Mage::getStoreConfig('general/country/default')); = be
  • substr(Mage::getStoreConfig('general/locale/code'),0,2); = fr
  • Mage::app()->getLocale()->getLocaleCode(); = fr_BE

Zauważ, że

Mage::app()->getLocale()->getLocaleCode() == Mage::getStoreConfig('general/locale/code')

ale z drugiej, można określić inny sklep niż domyślny (Mage::getStoreConfig('general/locale/code', $storeId)), więc chciałbym go polecić.

Powiązane problemy