2011-07-05 10 views
16

Geçerli dil kodunu almak için bir yardımcı fonksiyona ihtiyacım var. Sadece test amaçlı olarak /products/view.phtml gibi templete bir dosyada kullanmak istiyorum.Magento Şablon dosyasında dil kodu olsun

Zaten var mı?

Ben

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

cevap

71

yapabilirsiniz geçerli yerel kodunu bu şekilde olsun URL yardımcı gibi akılda bir şey var: Böyle bir yardımcı işlevi vardır Afaik

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

Çalışıyor da. Hm ... kim puan kazanıyor? – former

+0

Bununla birlikte, şu anda çeviri modelinde kullanılan yerel ayarı elde edersiniz, ancak her ikisi de teknik olarak doğrudur. – FbnFgc

+0

LocaleName'i nasıl alırız? (yerel ayarı ayarladığımız zaman, arka planda gördüğümüz gibi) –

8

, ancak bir olabilir Tabii kullanarak kendi inşa: html elemanları kullanım için

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

İyi çalışıyor, teşekkürler. – former

0

lang > GetStore -

$ languageCode = Mage :: app():

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

$ _store Mevcut mağaza nesne olduğunu

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

+0

Bu sadece ihtiyacım olan şey. tnx – deanpodgornik

0

de kullanabilirsiniz deneyin vb bağlıyor() -> getLanguageCode();

Mağaza yerel ayarlarınızı yöneticiniz içinde yapılandırmayı unutmayın. menüsüne gidin: -> Yapılandırma -> Genel -

Sistem> Yerel Seçenekler

Ve bu konudaki verilen cevaplar her Siteleri veya mağazalarda

11

Sonucu için doğru Yerel Ayar set "Belçika: Fransız" (Be_Fr):

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

Not olduğunu

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

ama ikincisi ile, varsayılan bir (Mage::getStoreConfig('general/locale/code', $storeId)) den başka bir mağazayı belirtebilirsiniz, bu yüzden salık vermek.