Sistema de configuração personalizada fonte modelo erro
-
13-12-2019 - |
Pergunta
Eu estou tentando criar um Sistema de seção de configuração com valores de campo personalizado
Este é o meu código:
system.xml
<?xml version="1.0"?>
<config>
<tabs>
<macerierconf translate="label">
<label>Macerier</label>
<sort_order>150</sort_order>
</macerierconf>
</tabs>
<sections>
<tab1 translate="label" module="adminhtml">
<label>Settings</label>
<tab>macerierconf</tab>
<sort_order>100</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<smssending translate="label comment">
<label>test label</label>
<sort_order>60</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<device translate="label comment">
<label>Device</label>
<frontend_type>select</frontend_type>
<source_model>macerier_test/system_config_source_dropdown_values</source_model>
<sort_order>30</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>0</show_in_website>
<show_in_store>0</show_in_store>
</device>
</fields>
</smssending>
</groups>
</tab1>
</sections>
</config>
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Macerier_TEST>
<version>0.1.0</version>
</Macerier_TEST>
</modules>
<global>
<models>
<macerier_test>
<class>Macerier_TEST_Model</class>
</macerier_test>
</models>
</global>
</config>
em seguida, em
Macerier\TEST\Model\System\Config\Source\Dropdown\Values.php
Eu tenho este:
<?php
class Macerier_TEST_Model_System_Config_Source_Dropdown_Values
{
public function toOptionArray()
{
return array(
array(
'value' => 'key1',
'label' => 'Value 1',
),
array(
'value' => 'key2',
'label' => 'Value 2',
),
);
}
}
e eu recebo este erro:
PHP Fatal error:Chamada para uma função de membro toOptionArray() em um objeto não-em /home/user/public_html/magento/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php na linha 463
Tenho certeza de que estou fazendo algo de errado aqui, porque sem a fonte personalizada modelo o módulo está funcionando.
Solução
Suspensa não pode obtê-lo Modelo de origem
macerier_test/system_config_source_dropdown_values
que por ele mostrando o erro
Pode ser que você não definir o modelo de prefixo.
Conforme o código macerier_test
.é modelos de prefixo
Então vamos definir o modelo de prefixo config.xml
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Macerier_TEST>
<version>0.1.0</version>
</Macerier_TEST>
</modules>
<!-- add this -->
<global>
<models>
<macerier_test> <!-- call as model prefix identifier -->
<class>Macerier_TEST_Model</class>
</macerier_test>
</models>
</global>
</config>