Özel yapılandırma değerleri için Magento teklifler (nispeten) kolay desteği. Bunu gerçekleştirmek için bulduğum en iyi yolu, tüm özel yapılandırma değerlerini tutan tek bir magento modül oluşturmaktır.
Anything Magento gibi, orada bir sürü adımlar vardır ve yanlış olan herhangi biri sizin (ya da bana!) Yukarıya takýlabiliriz.
Create an Empty Magento Module
Öncelikle, kurulum için tüm özel yapılandırma değerlerini tutmak için bir magento modül isteyeceksiniz. Bir magento modül oluşturma içerir
- App / etc / modules bir xml dosyası oluşturma
- App / kod / local / firmaadiniz bir klasör yapısı oluşturun
Companyname bir ad olarak hizmet veren benzersiz bir dize ve en magento öğreticiler burada şirket adı kullanmanızı öneririz. Bu yazının amaçları için, ben "stackoverflow" kullanacağız. Eğer dize StackOverflow gördüğünüz her yerde, kendi benzersiz bir dize ile değiştirin.
Böylece, adım 1 için, "Stackoverflow_Customconfig.xml" adlı app / etc / modules bir dosya oluşturun ve içine aşağıdaki yerleştirin
<?xml version="1.0"?>
<config>
<modules>
<Stackoverflow_Customconfig>
<active>true</active>
<codePool>local</codePool>
</Stackoverflow_Customconfig>
</modules>
</config>
Rastgele Magento İpucu: Orada boşluk önemli düşünün magento sistemin parçalarıdır, bu nedenle nitelik değerleri ( true aktif> vs true aktif> ile hiçbir boşluk dahil etmek her zaman en iyisidir
Sonra, aşağıdaki klasörü oluşturun
mkdir app/code/local/Stackoverflow/Customconfig
mkdir app/code/local/Stackoverflow/Customconfig/etc
Ve bir dosya olarak oluşturmak
app/code/local/Stackoverflow/Customconfig/etc/config.xml
Aşağıdaki içeriği ile
<?xml version="1.0"?>
<config>
<modules>
<Stackoverflow_Customconfig>
<version>0.1.0</version>
</Stackoverflow_Customconfig>
</modules>
</config>
Tebrikler, sadece kurulum yeni bir Magento Modül ettik. Eğer magento önbelleğini temizleyin ve giderseniz
System -> Configuration -> Advanced -> Disable Modules Output
Eğer modül listelenmiş görmelisiniz.
Add a System.xml file to your module
Sonra, bir System.Xml dosyası eklemek için gidiyoruz. Bu dosya her yerde magento isteği döngüsü sırasında istediğiniz kapmak mümkün olacak, hangi magento için özel bir yapılandırma değerini eklemek için kullanılır. Bir dosya ekleyiniz
app/code/local/Stackoverflow/Customconfig/etc/system.xml
Bu şunları içeriyorsa
<config>
<sections>
<design>
<groups>
<my_or_their_group translate="label">
<label>Yapılandırma değerleri bir gruplama. Bize varolan bir grup kendi yapmak, ya da.</label>
<frontend_type>text</frontend_type>
<sort_order>50</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>0</show_in_website>
<show_in_store>0</show_in_store>
<fields>
<my_config translate="label">
<label>This will be my config's label</label>
<frontend_type>text</frontend_type>
<sort_order>50</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>0</show_in_website>
<show_in_store>0</show_in_store>
</my_config>
</fields>
</my_or_their_group>
</groups>
</design>
</sections>
</config>
<design> config "Genel, Web, Tasarım, Döviz Kur, vb" görüntüleneceği bölümün adıdır Ve büyük, bu başlık bir küçük harf versiyonu olacak, yani "Genel", "genel", "Tasarım", "tasarlamak" dönüşür. Eğer bu dış etiketi ne olması gerektiğini emin değilseniz, çekirdek magento modüller aracılığıyla arayın. yani, "Döviz Kur" için grepping bir söz ortaya koymaktadır
app/code/core/Mage/Directory/etc/system.xml
<currency translate="label" module="directory">
<label>Currency Setup</label>
Yani etiketi kullanmak istiyorum
config değişken Gruplar içeri gösterir grubun adı yapılandırma alanlarını içeren Ajax açılan çıkışlar olmasıdır. Örneğin, Genel bölümü, bir "ülke ayarları" grubu vardır ve yerel seçenekler "grubu. Varolan bir grupta bir değer yerleştirmek için nasıl emin değilseniz Yine, mevcut çekirdek modüller kontrol edin.
Ayrıca ilgili etiket etiketi ile birlikte, burada translate attribute fark edeceksiniz. Bu bir grup başlık olarak HTML arayüzünde istediğiniz herhangi bir dizeyi kullanabilirsiniz, ama içten ismini geçerli bir XML etiket adı saklamanızı sağlar. Bizim etiketi adlandırılır
<my_or_their_group />
ama arayüzü, grubun başlık olacak
Yapılandırma değerleri bir gruplama. Bize varolan bir grup kendi yapmak, ya da.
Son olarak, yoru değeri conifg adıdır. Yine, translate attribute dikkat edin. Yukarıdaki gibi aynı kurallar geçerlidir.
Diğer xml yapı gereklidir, ve (çoğunlukla) ve yapılandırma için kullanılacak HTML girdilerin ne tür kontrol etmek için kullanılır. Belirli bir arabirim öğesi istiyorsanız, çekirdek modülü bir örnek bulmak ve XML yapısını kopyalayın.
Bu Magento GUI arabiriminde yapılandırma değerlerini ayarlayabilir ve arama sağlayacaktır. Sen küresel Mage nesnenin statik getStoreConfig yöntemini kullanarak ve yapılandırma değeri URI belirterek değerlerinizi alabilirsiniz. URI senin config bölüm / grup / adı kullanılarak oluşturulur.
Mage::getStoreConfig('design/my_or_their_group/my_config');