نظام تكوين مخصص نموذج المصدر خطأ
-
13-12-2019 - |
سؤال
أحاول إنشاء نظام التكوين القسم مخصص مجال القيم
هذا هو قانون بلدي:
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>
ثم في
Macerier\TEST\Model\System\Config\Source\Dropdown\Values.php
لدي هذا:
<?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',
),
);
}
}
وأنا الحصول على هذا الخطأ:
PHP خطأ فادح:استدعاء دالة عضو toOptionArray() على غير كائن في /home/user/public_html/magento/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php على خط 463
وأنا متأكد من أن نفعل شيئا خطأ هنا لأنه من دون مخصص نموذج المصدر إن وحدة العمل.
المحلول
المنسدلة لا يمكن الحصول عليها نموذج المصدر
macerier_test/system_config_source_dropdown_values
هذا السبب في أنه تبين خطأ
قد تكون أنت لم تحدد نموذج البادئة.
كما في التعليمات البرمجية الخاصة بك macerier_test
.هي نماذج البادئة
لذلك دعونا تحديد نموذج البادئة في 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>
لا تنتمي إلى magento.stackexchange