Qual é a diferença de Mage :: getStoreConfig () e getConfigData ()

10

Por favor, explique-me qual é a diferença de

$this->getConfigData('xyz')e Mage::getStoreConfig('abc/xyz/hfc').

Qual é a diferença de ambas as funções.

Harish Kumar
fonte

Respostas:

16

Quando você usa Mage::getStoreConfig('abc/xyz/hfc'), precisa passar o nome da seção, o nome da guia e o nome do campo. portanto, buscará valor para esse campo.

Mas se suponha que você tenha um módulo de pagamento e tenha mais de 100 campos, a cada vez você não poderá fornecer o caminho inteiro. No seu módulo, você pode criar um método como o abaixo. então você precisa apenas passar a chave e ela criará o caminho usando a função

public function getConfigData($key)
{
    return Mage::getStoreConfig("catalog/custom_options/$key");
}

É muito fácil para você identificar.

Em Magento Release NotesEles também mencionam esta linhaMade fetching payment methods sort order properly: via getConfigData() rather getStoreConfig() (optimization for 3rd-party customizations).

Keyul Shah
fonte
Bom trabalho @Keyul
Amit Bera
1

Mage::getStoreConfig() use para armazenar um campo específico na entrada do sistema admin.

getStoreConfig(),Magento obtém uma referência a uma instância do objeto de armazenamento específico. getStore retorna an instance of the current store object.

veja em http://alanstorm.com/magento_loading_config_variables

/programming/5892476/how-to-get-data-from-magento-system-configuration

/programming/19941411/magento-getstoreconfig-multistore

E getConfigData()função da classe atual que geral dácurrent store configuration value

Amit Bera
fonte
0

Adicionando à resposta de Keyul Shah : Os valores que você pode obter no Mage :: getStoreConfig ('abc / xyz / hfc') são salvos na tabela core_config_data do magento DB. Antes que essa função possa retornar qualquer coisa, é necessário que haja uma entrada na coluna 'path' da tabela core_config_data. Há uma coluna para store_id também em core_config_data. Se nenhum ID de loja for passado como argumento, o ID de loja padrão 0, que pertence ao administrador, será utilizado.

frondenova
fonte
0

função pública getConfigData ($ key) {return Mage :: getStoreConfig ("catalog / custom_options / $ key"); }

Eu removi o código acima do arquivo html.php. Preciso verificar qualquer outro código ou banco de dados após remover o código.

Vinod Saini
fonte