Często istnieje potrzeba dynamicznego pobierania informacji o sklepie (np. nazwa, tytuł, telefon, adres, e-mail), jego konfiguracji (np. ilość produktów na siatce/liście, od jakiej kwoty dostępna jest darmowa dostawa, ) w szablonach lub stronach/blokach CMS. Szczególnie przydaje się to gdy na jednej instalacji Magento mamy postawionych kilka sklepów.
Można to wykonać w bardzo prosty sposób.
echo Mage::getStoreConfig('sectionName/groupName/fieldName');
sectionName, groupName oraz fieldName są zawarte w pliku etc/system.xml swojego modułu. Nazwę danego pola możemy sprawdzić prosto za FireBug’a.
Dla przykładu chcemy pobrać nazwę sklepu. Znajduje się ona w System -> Configuration -> General -> Store Information –> Store Name i kod za pomocą którego ją pobierzemy będzie wyglądał tak:
echo Mage::getStoreConfig('general/store_information/name');
Drugi przykład, pobieramy adres e-mail, na który będą wysyłane wiadomości z formularza kontaktowego. Znajduje się on w System -> Configuration -> Contacts -> Email –> Send Emails To i kod jakim go pobierzemy będzie wyglądał tak:
echo Mage::getStoreConfig('contacts/email/recipient_email');
Podobnie można pobrać każda inną informację.
Kilka przykładów:
echo Mage::getStoreConfig('general/store_information/name'); //nazwa sklepu echo Mage::getStoreConfig('design/head/default_title'); //domyslny tytuł echo Mage::getStoreConfig('catalog/frontend/grid_per_page'); //produktów na siatce na stronę echo Mage::getStoreConfig('carriers/freeshipping/free_shipping_subtotal'); //darmowa dostawa od jakiej kwoty echo Mage::getStoreConfig('contacts/email/recipient_email'); //adres e-mail, na który będą wysyłanie wiadomosci z formularza kontaktowego echo Mage::getStoreConfig('general/store_information/phone'); //nr telefonu sklepu echo Mage::getStoreConfig('general/store_information/address'); //adres sklepu echo Mage::getStoreConfig('trans_email/ident_general/name'); echo Mage::getStoreConfig('trans_email/ident_general/email'); //nazwa nadawcy oraz e-mail dla ogólnego kontaktu echo Mage::getStoreConfig('trans_email/ident_sales/name'); echo Mage::getStoreConfig('trans_email/ident_sales/email'); //nazwa nadawcy oraz e-mail dla przedstawiciela handlowego echo Mage::getStoreConfig('trans_email/ident_support/name'); echo Mage::getStoreConfig('trans_email/ident_support/email'); //nazwa nadawcy oraz e-mail dla wsparcia klienta echo Mage::getStoreConfig('trans_email/ident_custom1/name'); echo Mage::getStoreConfig('trans_email/ident_custom1/email'); //nazwa nadawcy oraz e-mail dla custom kontakt 1 echo Mage::getStoreConfig('trans_email/ident_custom2/name'); echo Mage::getStoreConfig('trans_email/ident_custom2/email'); //nazwa nadawcy oraz e-mail dla custom kontakt 2
W bardzo podobny i prosty sposób można tych wszystkich informacji używać w blokach oraz stronach CMS. Kod powinien wyglądać mniej więcej tak:
{{config path="general/store_information/name"}} {{config path="design/head/default_title"}} {{config path="catalog/frontend/grid_per_page"}} {{config path="carriers/freeshipping/free_shipping_subtotal"}} {{config path="contacts/email/recipient_email"}} {{config path="general/store_information/phone"}} {{config path="general/store_information/address"}} {{config path="trans_email/ident_general/name"}} {{config path="trans_email/ident_general/email"}} {{config path="trans_email/ident_sales/name"}} {{config path="trans_email/ident_sales/email"}} {{config path="trans_email/ident_support/name"}} {{config path="trans_email/ident_support/email"}} {{config path="trans_email/ident_custom1/name"}} {{config path="trans_email/ident_custom1/email"}} {{config path="trans_email/ident_custom2/name"}} {{config path="trans_email/ident_custom2/email"}}