Magento yapılandırma değerlerini ayarlamak ve almak için bir API sağlar. I fetching data out of the config hakkında bir makale yazdı. Aşağıdaki terminolojinin herhangi karıştırır eğer gözden isteyeceksiniz.
Değişkenlerini ayarlama gelince, onu "bu değer" değişken "Ben tasarım / başlık / logo_src ayarlamak istiyoruz" diyerek kadar basit değil. Ayrıca için değerleri kaydetmeden olduğunuz web sitesi belirtmeniz gerekir, ve hangi için değerleri tasarruf ediyoruz saklayın.
Burada dikkatli olmak önemlidir. Ben Magento "web sitesi için gösteri site için gösteri" back-end/resource düzeyinde yapılandırma değerlerinin parçalı, veya yalnızca UI düzeyde zorlama olup olmadığını görmek için sisteme derinden bakmadım. Benim içgüdüleri bunu bu düzeyde savable olması amaçlanmıştır değildi web sitesi / mağaza düzeyinde bir değer tasarruf sonunda olabilir demek ki, daha sonra, ve bu korkunç Tanımsız Davranış yol açabileceği görüşünde.
Magento aşağıdaki konumda yapılandırma değerleri kaydetmeden nerede 1.4 topluluk sayımızda görebilirsiniz
File: app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php
//around line 126
Mage::getModel('adminhtml/config_data')
->setSection($section)
->setWebsite($website)
->setStore($store)
->setGroups($groups)
->save();
Yolumdan uyarılar, üst düzey mağaza / web config için sadece logosunu güncelleştirmek için kod olacaktır.
//create a groups array that has the value we want at the rigth location
$groups_value = array();
$groups_value['header']['fields']['logo_src']['value'] = 'images/logo.gif';
Mage::getModel('adminhtml/config_data')
->setSection('design')
->setWebsite(null)
->setStore(null)
->setGroups($groups_value)
->save();
Çizgi
Mage::getModel('adminhtml/config_data')
Bir Magento modeli başlatır.
'design'
{[(1)}] yöntemi hem de 'header'
ve 'logo_src'
dizesi yapılandırma URI tekabül
design/header/logo_src
Ben null
setWebsite
ve setStore
Eğer üst düzeyde bu değer tasarruf ediyoruz nesneyi anlatmak için geçebilen eminim. Ayrıca mağaza ve web sitesi kimliklerini geçebileceği. (Ben bu konuda biraz zayıf değilim, ama logoyu kaydetmek zaman normalde bu sistem yapıyor ne)
'fields'
ve 'values'
sabit kodlanmıştır. Nesnenin niyet bölümdeki tüm gruplardan bir kerede birden fazla yapılandırma değerleri kaydetmek için.
Eğer merak ediyorsanız eğer yukarıdaki denetleyicisi saveAction
yöntemini Ödeme.