Jawaban:
Biasanya, Anda tidak seharusnya melakukan ini. Mage::getStoreConfig()
akan secara otomatis mengembalikan nilai toko, nilai situs web, nilai global, atau nilai default tergantung pada konfigurasi bidang.
Namun, jika Anda benar-benar perlu mengabaikan nilai toko dan mendapatkan nilai situs web, Anda dapat melakukannya dengan cara ini:
Mage::app()->getWebsite()->getConfig('.../.../...')
Ini adalah kasus yang jarang, karena pengaturan diwarisi ke tingkat toko dan biasanya getStoreConfig()
mempertimbangkan pengaturan situs web.
Anda dapat menggunakan Mage_Core_Model_Website::getConfig()
- tetapi sadarilah bahwa ada sedikit perbedaan di Mage_Core_Model_Store::getConfig()
mana juga beberapa pemrosesan sedang dilakukan (misalnya penggantian {{...}}
) - penggantian semacam ini tidak dilakukan pada tingkat situs web.
Jika nilainya hanya dapat diubah pada tingkat situs web, opsi lain adalah dengan mendapatkan beberapa toko acak dari situs web dan kemudian menggunakannya getStoreConfig()
.
Ini dapat diturunkan menggunakan kode situs web tertentu jika diketahui.
$value = Mage::getConfig()->getNode('websites/[website_code]/section/group/field');
var_dump($value[0]);
Mage::app()->getWebsites()
dan kode dari situs web:$website->getCode()
Saya mungkin salah, tetapi sejauh yang saya ingat, ruang lingkup konfigurasi selalu terikat ke toko. Jika Anda menetapkan nilai pada tingkat situs web, itu akan tersedia di toko mana pun dari situs web itu kecuali jika Anda menetapkan nilai yang berbeda pada tingkat toko.
Katakanlah Anda memiliki situs web A dan toko A1 dan A2 adalah toko untuk situs web itu. Asumsikan bahwa A memiliki nilai 5 untuk properti yang diberikan
Kemudian Mage::getStoreConfig()
akan mengembalikan 5 untuk properti itu untuk A1 dan A2. Jika Anda menetapkan properti ke 3 untuk A1, maka
Mage::getStoreConfig()
akan mengembalikan 3 untuk A1 dan 5 untuk A2 untuk properti itu.
Mage::app()->getWebsite($websiteId)->getConfig('web/unsecure/base_url')