Получить данные конфигурации системы на веб-сайте, хранилище и объеме по умолчанию

magento.stackexchange https://magento.stackexchange.com//questions/51954

Вопрос

Я создал пользовательские группы и поля под системой-> Configuration-> дизайн Я использовал следующее событие.

<admin_system_config_changed_section_design>
    <observers>
        <custom>
            <type>singleton</type>
            <class>Custon_Custom_Observer</class>
            <method>save</method>
            </custom>
    </observers>
</admin_system_config_changed_section_design>
.

Есть три типа масштаба в Magento.

1) по умолчанию

2) сайты

3) Магазины

Я хочу все значения моих пользовательских полей на панели администратора для хранения значений на пользовательской таблице. Введите описание изображения здесь

Например, Вы получаете описание поля поля в уровне хранения.

Mage::getStoreConfig('design/custom/description');
.

Я хочу вышеупомянутое значение на уровне сайта и текущий уровень хранения. Я пробовал Эта ссылка

Это было полезно?

Решение

в config.xml,

 <global>
    <events>
        <admin_system_config_changed_section_design>
            <observers>
                <custom>
                    <type>singleton</type>
                    <class>Custon_Custom_Observer</class>
                    <method>saveSystemConfig</method>
                    </custom>
            </observers>
        </admin_system_config_changed_section_design>
    </events>
 </global>
.

в Observer.php,

public function saveSystemConfig(Varien_Event_Observer $observer)
{
    $postData = $observer->getEvent()->getData();

    if (is_null($postData['store']) && $postData['website']) //check for website scope
    {
        $scopeId = Mage::getModel('core/website')->load($postData['website'])->getId();
        $description  = Mage::app()->getWebsite($scopeId)->getConfig('design/custom/description');
        $currentScope = 'websites';
    }
    elseif($postData['store']) //check for store scope
    {
        $scopeId =   Mage::getModel('core/store')->load($postData['store'])->getId();
        $description  = Mage::app()->getStore($scopeId)->getConfig('design/custom/description');
        $currentScope = 'stores';
    }
    else //for default scope
    {
        $scopeId = 0;
        $description  = Mage::getStoreConfig('design/social-meta-tags/design/custom/description')
        $currentScope = 'default';
    }
}
.

Из приведенного выше вы можете получить отдельные значения поля во всех областях.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top