Web Sitesi Kapsamı için Yapılandırma Değeri Alın


21

Belirli bir web sitesi için yapılandırma değerini nasıl alabilirim?

Var Mage::getStoreConfig()ama hayır Mage::getWebsiteConfig().

düzenle :

Konfigürasyon verilerini web sitesi düzeyinde veriyorum - bu yüzden bir şekilde web sitesi kapsamı ayarını istiyorum ...

Yanıtlar:


16

Genellikle, bunu yapmamanız gerekiyor. Mage::getStoreConfig()alanın yapılandırmasına bağlı olarak mağaza değerini, web sitesi değerini, genel değeri veya varsayılan değeri otomatik olarak döndürür.

Bununla birlikte, mağaza değerini gerçekten göz ardı etmeniz ve web sitesi değerini almanız gerekirse, şu şekilde yapabilirsiniz:

Mage::app()->getWebsite()->getConfig('.../.../...')

1
Web sitesi kimliğini eklemeyi unutma. yani <br/>Mage::app()->getWebsite($websiteId)->getConfig('web/unsecure/base_url')
Eduardo,

8

Bu, ayarların mağaza seviyesine miras kalması ve genellikle getStoreConfig()web sitesi ayarlarını dikkate alması nedeniyle nadir görülen bir durumdur .

Kullanabilirsiniz Mage_Core_Model_Website::getConfig()- ancak Mage_Core_Model_Store::getConfig()bazı işlemlerin yapıldığı yerde de küçük bir fark olduğunun farkında olun (örneğin yerine koyma {{...}}) - bu tür bir değiştirme işlemi web sitesi düzeyinde yapılmaz.

Değer yalnızca web sitesi düzeyinde değiştirilebilirse, başka bir seçenek web sitesinin yalnızca rastgele bir mağazasını elde edip kullanmaktır getStoreConfig().


6

Bu, biliniyorsa, belirli bir web sitesi kodu kullanılarak elde edilebilir.

$value = Mage::getConfig()->getNode('websites/[website_code]/section/group/field');
var_dump($value[0]);

Bu doğru cevap olarak işaretlenmelidir. Web sitelerinden Mage::app()->getWebsites()ve web sitelerinden gelen kodları alabilirsiniz :$website->getCode()
Michael,

İyi şeyler @ benmarks. Kabul ediyorum, bu doğru cevap olarak işaretlenmeli. Bir web sitesine göre bir yapılandırma değeri elde etmenin yaygın olmadığını biliyorum, ancak bazı durumlarda bu .. örneğin, bir cron işinde web sitesi tarafından ürünlerin ihracatını yaparken bunu yapmam gerekiyordu.
Eduardo,

2

Yanlış olabilirim ama hatırladığım kadarıyla, yapılandırma kapsamı her zaman mağazalara bağlı. Bir web sitesi düzeyinde bir değer belirlerseniz, mağaza düzeyinde farklı bir değer belirlemediğiniz sürece bu web sitesinin herhangi bir mağazasında kullanılabilir.

A web siteniz olduğunu ve A1 ve A2 mağazasının bu web sitesine ait mağazalar olduğunu söyleyin. A'nın verilen bir özellik için 5 değerine sahip olduğunu varsayalım.

Sonra Mage::getStoreConfig(), bu özellik için hem A1 hem de A2 için 5 değerini döndürür. Özelliği A1 için 3 olarak ayarlarsanız, bu durumda A1 için 3, Mage::getStoreConfig()A2 için 5 döndürür.


Tamamen haklısın - ama: konfigürasyon verilerini web sitesi düzeyinde veriyorum - bu yüzden bir şekilde web sitesi kapsamı ayarını istiyorum ... Bunun oldukça nadir bir durum olduğunu biliyorum.
Alex,

@Alex Muhtemelen sizin sorunuzda da söylemelisiniz;)
mpaepper
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.